Reactjs 如何根据区域设置使用Formik和Yup设置不同的密码要求?
我正在处理一个网站,我有不同的密码要求取决于国家,谁能帮我解决这个问题,请?这就是我到目前为止所取得的进展,但它仍然只需要6个字符,其他什么都不需要Reactjs 如何根据区域设置使用Formik和Yup设置不同的密码要求?,reactjs,formik,yup,Reactjs,Formik,Yup,我正在处理一个网站,我有不同的密码要求取决于国家,谁能帮我解决这个问题,请?这就是我到目前为止所取得的进展,但它仍然只需要6个字符,其他什么都不需要 password: Yup.string() .when({ is: locale => locale === 'mt', then: Yup.string().matches( /^(?=.*[A-
password: Yup.string()
.when({
is: locale => locale === 'mt',
then: Yup.string().matches(
/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/,
'Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and one special case Character'
),
otherwise: Yup.string().min(6, 'Must containt at least 6 characters')
})
.required(intl.formatMessage({ id: 'inputs.password.required' }))
});
locale是在url中设置的国家/地区。它可以正确地获取语言环境。您不能使用这样的东西吗:
password:locale=='mt'?
Yup.string().匹配(/^(?=.[A-Za-z])(?=.*\d)(?=.[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/,
'必须包含8个字符,一个大写、一个小写、一个数字和一个特殊大小写字符'
):Yup.string().min(6,‘必须至少包含6个字符’)
是!当然工作得很有魅力!非常感谢。