提问者:小点点

sails.js中验证的完整示例


请在sails.js中给出一个完整的验证示例。
当然,使用自定义错误消息
例如,假设我们有一个名为book的模型,我们希望从userv获取
作为请求的信息,并将其保存在数据库中。

请基于sails.js版本1.0。

我尝试了sails-custom-validation-messaging包,但它无法正常工作。
https://www.npmjs.com/package/sails-custom-validation-messages


共1个答案

匿名用户

我在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