作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否有人可以建议我如何让 yup 验证任何长度(包括长度 0)的字符串。
只是使用
yup.string().required().validateSync("")
将在空字符串上引发错误...
string().required().min(0)
但这种方式不再有效.. (
https://github.com/jquense/yup/issues/136#issuecomment-339235070)
最佳答案
我的建议是放弃 .required()
而是使用 typeError
在启用 strict
时进行验证停止强制和转换非字符串值。
这将使您能够允许任何长度的字符串值,同时仍然会在非字符串值上出错。
例子:
yup.string().typeError().strict(true).validateSync(1) // Error
yup.string().typeError().strict(true).validateSync(null) // Error
yup.string().typeError().strict(true).validateSync({}) // Error
yup.string().typeError().strict(true).validateSync("") // Valid
yup.string().typeError().strict(true).validateSync("Foo") // Valid
typeError
还有一个可选的
message
参数允许您在此处提供错误消息,然后如果您不想稍后再次处理它。
关于javascript - 如何让 yup.string() 要求任何长度的字符串(包括 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63943689/
我是一名优秀的程序员,十分优秀!