gpt4 book ai didi

javascript - 如何让 yup.string() 要求任何长度的字符串(包括 0)

转载 作者:行者123 更新时间:2023-12-05 00:35:32 24 4
gpt4 key购买 nike

我想知道是否有人可以建议我如何让 yup 验证任何长度(包括长度 0)的字符串。
只是使用

yup.string().required().validateSync("")
将在空字符串上引发错误...
在过去,这是推荐的方法:
string().required().min(0) 
但这种方式不再有效.. ( https://github.com/jquense/yup/issues/136#issuecomment-339235070)
有人可以建议我如何让 yup 要求发送一个字符串,但不要在长度为 0 的字符串上出错?
谢谢!

最佳答案

我的建议是放弃 .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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com