如何使用 YUP 中的验证器 #1 或验证器 #2 检查字段是否有效
How to check if field is valid with validator #1 OR validator #2 in YUP
我需要检查字段是否包含 phone 号码或电子邮件。
像这样:
const phoneOrEmailValidationSchema = Yup.object().shape({
phoneOrEmail: Yup.string()
.oneOfValidators(
[Yup.string().email(), Yup.string().min(5)],
"must be phone or email"
)
.required("Required phoneOrEmail"),
});
可以用 YUP 做吗?
const phoneOrEmailValidationSchema = Yup.object().shape({
phoneOrEmail: Yup.lazy((value) => {
if (value.indexOf("@") === -1) {
return Yup.string().min(5);
}
return Yup.string().email();
}),
});
如果您可以在 运行 时确定对 运行 进行哪个验证,则可以使用此方法。如果您无法确定对 运行.
进行哪个验证,则不确定您将如何执行此操作
我需要检查字段是否包含 phone 号码或电子邮件。
像这样:
const phoneOrEmailValidationSchema = Yup.object().shape({
phoneOrEmail: Yup.string()
.oneOfValidators(
[Yup.string().email(), Yup.string().min(5)],
"must be phone or email"
)
.required("Required phoneOrEmail"),
});
可以用 YUP 做吗?
const phoneOrEmailValidationSchema = Yup.object().shape({
phoneOrEmail: Yup.lazy((value) => {
if (value.indexOf("@") === -1) {
return Yup.string().min(5);
}
return Yup.string().email();
}),
});
如果您可以在 运行 时确定对 运行 进行哪个验证,则可以使用此方法。如果您无法确定对 运行.
进行哪个验证,则不确定您将如何执行此操作