请在sails.js中给出一个完整的验证示例。
当然,使用自定义错误消息
例如,假设我们有一个名为book的模型,我们希望从userv获取
作为请求的信息,并将其保存在数据库中。
请基于sails.js版本1.0。
我尝试了sails-custom-validation-messaging包,但它无法正常工作。
https://www.npmjs.com/package/sails-custom-validation-messages
我在Sails1.x中创建了一个用于验证的小助手钩子:
https://github.com/xtrinch/sails-hook-validation-ev
在使用blueprint路由的最简单形式中,它通过向模型添加一个validate函数来工作:
todo.js:
module.exports = {
attributes: {
title: {
type: 'string',
required: true
},
description: {
type: 'string',
required: true
},
},
validate: (req) => {
req.check('title')
.exists()
.isLength({ min: 1 }).withMessage('must be at least 5 chars long');
req.check('description').exists();
}
};
响应示例:
{
"errors": [
{
"location": "params",
"param": "title",
"msg": "Invalid value"
},
{
"location": "params",
"param": "title",
"msg": "must be at least 5 chars long"
}
]
}
检查API取自express-validator,以避免重新发明轮子。
有关更多选项和高级用法,请参阅钩子的完整readme.md
。