繁体   English   中英

使用 Joi 验证空字符串

[英]Validating empty strings with Joi

使用 Joi 验证字符串时,使用以下模式:

title: Joi.string().required(),

它不会验证如下的空字符串: " " 我认为在每个字段上重复string().trim()是不正确的。 如何验证空字符串? 根据文档,Joi 不应该处理这个吗?

请注意,默认情况下不允许空字符串,必须使用 allow('') 启用。 不要想太多,只要记住空字符串默认不是有效字符串即可。 另外,不要要求改变它或争论为什么它没有意义。 此话题已关闭。

您可以使用.regex()来验证您的字段。

例如,以下模式将验证任何仅包含空格(至少一个)的字符串:

const schema = Joi.object({
    a: Joi.string().regex(/^\s+$/)
})

schema.validate({ a: ' ' }) // valid
schema.validate({ a: '     ' }) // valid
schema.validate({ a: '' }) // invalid, adding .allow('') will validate
schema.validate({ a: '1 ' }) // invalid
schema.validate({ a: '11' }) // invalid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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