[英]How to validate using yup to check string min length, max length and allow empty
[英]Nullable string with min/max range using Yup validation
我发现当添加最小/最大值时, yup
会忽略nullable
字段。
myValue: string().nullable().min(10, "This value must be minimum of 10 characters.")`.
有一个问题在没有给出任何解决方案的情况下在 repo 上关闭。
这是预期的行为,如果是,有什么解决方法吗? 我可以在不使用 yup 的情况下检查值的长度并引发错误,但是更愿意将其全部保留在 yup 模式验证中。
今天有这个确切的问题,很惊讶没有看到更多的讨论。
根据 Raz 对此处类似问题的回答,我相信会发生这种情况,因为空字符串在 yup 中不被视为 null,因此最小/最大验证运行。
我建议将空字符串转换为 null 作为验证的一部分,如下所示:
myValue: string().nullable().transform((o, c) => o === "" ? null : c).min(10, "This value must be minimum of 10 characters.").
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.