小编Ran*_*Sog的帖子

如何使用 Yup 验证电话号码但不是必需的?

我可以验证使用此正则表达式是否输入了电话号码,但它要求在输入字段中输入电话号码。我正在尝试将电话号码设置为可选。当我删除 .matchesphoneRegExp 时,它无需任何要求即可工作。我相信这与使该字段变为必填字段的正则表达式有关。但我不确定。我应该用不同的方式来做吗?谢谢


        const phoneRegExp = /^((\\+[1-9]{1,4}[ \\-]*)|(\\([0-9]{2,3}\\)[ \\-]*)|([0-9]{2,4})[ \\-]*)*?[0-9]{3,4}?[ \\-]*[0-9]{3,4}?$/;

const signUpSchema = yup.object().shape({
  username: yup
    .string()
    .min(4, "Need at least 4 characters.")
    .required("Username is required"),
  firstName: yup
    .string()
    .min(2, "Need at least 2 characters.")
    .required("First name is required"),
  lastName: yup
    .string()
    .min(2, "Need at least 2 characters")
    .required("Last name is required"),
  email: yup
    .string()
    .email()
    .required("Email is required"),
  phoneNumber: yup.string()
    .matches(phoneRegExp, "Phone number is not valid")
    .notRequired(),
  password: yup
    .string()
    .min(6, "Password must be at least 6 characters.") …
Run Code Online (Sandbox Code Playgroud)

validation phone-number yup

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

phone-number ×1

validation ×1

yup ×1