Reactjs 使用Formik在单个字段中进行多个电子邮件验证

Reactjs 使用Formik在单个字段中进行多个电子邮件验证,reactjs,formik,Reactjs,Formik,是否有任何方法可以在不使用Yup的情况下验证Formik中的多个电子邮件id。 我目前使用以下代码进行单一电子邮件验证: if (!values.cc) { errors.cc = "Required"; } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.cc)) { errors.cc = "Invalid email addres

是否有任何方法可以在不使用Yup的情况下验证Formik中的多个电子邮件id。 我目前使用以下代码进行单一电子邮件验证:

    if (!values.cc) {
        errors.cc = "Required";
    } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.cc)) {
        errors.cc = "Invalid email address";
    }

电子邮件将以空格分隔。

您需要自定义验证功能,这是一个

Formik字段:

<Field
    type="text"
    name="email"
    placeholder="Enter Your Email Address"
    validate={(event) => Validators.customFieldLevelValidation(event, [Validators.required, Validators.email, Validators.aol])} />

我使用以下代码进行了验证,在这种情况下,用户需要输入多封电子邮件,并用逗号分隔

        if (!values.cc) {
              errors.cc = "Required";
            } else {
              let emailList = values.cc.split(",");
              emailList.forEach((email) => {
                if (
                  !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i.test(email)
                ) {
                  errors.cc =
                    "Please provide a valid email. In case of multiple emails, seperate them with a comma (,) ";
                }
              });
            }

是的,这很有帮助:)

email:Yup.string()
.电子邮件(“电子邮件格式为无效”)
.火柴(
/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}]));([a-zA-Z-0-9]++.[a-zA-Z]{2,)$/
,“无效电子邮件格式”)
。必需(“义务!”),

是!没有使用它,因为这是唯一剩下的验证。下次我会用的。
        if (!values.cc) {
              errors.cc = "Required";
            } else {
              let emailList = values.cc.split(",");
              emailList.forEach((email) => {
                if (
                  !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i.test(email)
                ) {
                  errors.cc =
                    "Please provide a valid email. In case of multiple emails, seperate them with a comma (,) ";
                }
              });
            }
 email: Yup.string()
        .email("Format de l'email est invalide")
        .matches(
            /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
            , "Format de l'email est invalide")
        .required("Obligatoire!"),