使用YUP和Formick进行密码验证

人气:193 发布:2023-01-03 标签: javascript formik yup

问题描述

如何进行密码验证,同时将错误传递给不同的变量?

password: Yup.string().required("Please provide a valid password"),
passwordMin: Yup.string().oneOf([Yup.ref('password'), null]).min(8, 'Error'),
passwordLC: Yup.string().oneOf([Yup.ref('password'), null]).matches(/[a-z]/, "Error" )
passwordUC: Yup.string().oneOf([Yup.ref('password'), null]).matches(/[A-Z]/, "Error" )

我无法获取要与密码对象绑定的密码变量的绑定

推荐答案

只是为了详细说明Eleine的答案。 您不需要将每个验证存储在同一个字段中-您可以将它们链接在一起以获得完整的验证。

password: Yup.string()
  .required('No password provided.') 
  .min(8, 'Password is too short - should be 8 chars minimum.')
  .matches(/[a-zA-Z]/, 'Password can only contain Latin letters.')

请注意,您仍然可以为每个失败指定单独的消息。 此外,要使绑定起作用,请确保要绑定到的表单输入具有适当的name属性--在本例中为password

27