【发布时间】:2022-01-02 14:03:56
【问题描述】:
寻找条件语句的替代方案。从我的代码中可以看出,这个过程过于重复和杂乱无章。随着代码规模的扩大,维护代码将变得越来越困难。为了避免这种情况,我正在寻找替代方案。
function validate(values) {
let errors = {};
// Email Error
if (!values.email) {
errors.email = "Email address is required";
} else if (!/\S+@\S+\.\S+/.test(values.email)) {
errors.email = "Email address is invalid";
}
// Password Error
if (!values.password) {
errors.password = "Password is required";
} else if (values.password.length < 6) {
errors.password = "Password must be 6 or more characters";
}
return errors;
}
【问题讨论】:
-
看起来不错,你最多可以这样做。您最多可以将每种错误类型划分为单独的函数
-
它也不过分重复。每个案例以不同的方式处理一个字段。如果您担心规模(即包含大量字段的大量表单),您最终可能希望查看 Yup 之类的内容以进行表单验证。
标签: javascript if-statement switch-statement