javascript - 使用 yup 和 formik 进行密码验证

标签 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" )

我无法获取密码变量的绑定(bind)以与密码对象绑定(bind)

最佳答案

只是详细说明 efleurine 的回答。
您不需要将每个验证都存储在同一个字段中——您可以将它们链接起来以获得完整的验证。

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.')

请注意,您仍然可以为每次失败指定单独的消息。
此外,为了使绑定(bind)生效,请确保您要绑定(bind)的表单输入具有适当的 name 属性 - 在本例中为 password

关于javascript - 使用 yup 和 formik 进行密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502436/

相关文章:

javascript - 捕获 AJAX 调用

javascript - 如何动态组合两个正则表达式?

formik - 如何在 YUP 中选中三个复选框时进行验证?

javascript - AngularJS 1.6 中兄弟组件之间的更改通信

javascript - PHP/jQuery 缩短字符串并在单击时显示更多内容

reactjs - 通过 Formik 向服务器发送数据

reactjs - 如何在withFormik中的handleSubmit中调度事件

reactjs - 如何通过 typescript 在 Formik 中添加强类型字段?

reactjs - 带有 yup 验证的对象或字符串类型有条件

javascript - 为什么这个 window.open 在 Chrome 和 FF 上有效,但在 IE 上无效?