阿里·埃海伊
我有一个带有 React 和 next js 的项目。我使用 formik 处理我的表单,是的用于验证我有一个输入,我想对其执行一些验证。
- 此字段必须是必需的,因此如果用户不输入任何信息,我会显示此消息 => 必填
- 此字段不应包含任何数字,否则我显示此消息 => Wrongggg
- 此字段只能包含波斯字符,否则我显示此消息 => 仅波斯字符这是我的架构
Yup.string()
.required("Requiredddd")
.matches(!/\d/, 'Wrongggg'),
.matches(/^[\u0600-\u06FF\s]+$/, 'Only persian chars')
但是在这种情况下,条件号 2 总是被认为是错误的。我认为 (!/\d/) 是错误的,但我不知道如何否定地使用匹配函数
lissettdm
根据是的,您可以使用.matches
以下形状:string.matches(regex: Regex, message?: string | function): Schema
. 如果你想验证字符串不包含数字,而不是使用(!/\d/)
你应该使用/\D+$/
.
Yup.string()
.required("Requiredddd")
.matches(/\D+$/, 'Wrongggg')
.matches(/^[\u0600-\u06FF\s]+$/, 'Only persian chars')
查看工作示例
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句