繁体   English   中英

使用 Yup 验证具有最小/最大范围的可空字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM