Ari*_*ant 6 javascript validation node.js joi
我使用joi进行验证,并尝试通过以下方式验证评论文本区域内容:
const schema = Joi.object().keys({
firstName: Joi.string().alphanum().min(3).max(30).required(),
lastName: Joi.string().alphanum().min(3).max(30).required(),
company: Joi.string().alphanum().min(3).max(30).required(),
comments: Joi.string().alphanum().min(30).max(1500).required(),
email: Joi.string().email().required()
});
Run Code Online (Sandbox Code Playgroud)
但是,如果有人输入逗号或句号,验证就会失败。如何将这些例外添加到验证中?
由于您可能希望允许人们在评论字段中进行任何操作,因此我将简单地省略alphanum评论验证,如下所示:
const schema = Joi.object().keys({
firstName: Joi.string().alphanum().min(3).max(30).required(),
lastName: Joi.string().alphanum().min(3).max(30).required(),
company: Joi.string().alphanum().min(3).max(30).required(),
// note: no alphanum here
comments: Joi.string().min(30).max(1500).required(),
email: Joi.string().email().required()
});
Run Code Online (Sandbox Code Playgroud)
如果您确实必须拥有仅包含字母、数字、逗号和句点的注释,您可以求助于使用正则表达式规则:
const schema = Joi.object().keys({
// ...
comments: Joi.string().regex(/^[,. a-z0-9]+$/).required(),
// ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12710 次 |
| 最近记录: |