node.js - sails.js 中验证的完整示例

标签 node.js sails.js

请在此处提供 sails.js 中验证的完整示例。
当然,还有自定义错误消息
例如,假设我们有一个名为书的模型,我们想要得到
根据请求从用户v获取信息并将其保存在数据库中。

请基于 Sails.js 版本 1.0。

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

最佳答案

我在 Sails 1.x 中创建了一个用于验证的小辅​​助钩子(Hook):

https://github.com/xtrinch/sails-hook-validation-ev

在使用蓝图路由的最简单形式中,它通过向模型添加验证函数来工作:

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,以免重新发明轮子。

有关更多选项和高级用法,请参阅该钩子(Hook)的完整 readme.md

关于node.js - sails.js 中验证的完整示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49717465/

相关文章:

node.js - 使用 PayPal-node-SDK(PayPal Express Checkout)支付授权和获取支付( future )

node.js - Sails.js 应用程序看不到 index.ejs?

node.js - NODE_APP_INSTANCE kubernetes Node 应用程序中的类似变量

javascript - 为什么我的 setInterval 在 1 秒后不显示每个数字?

node.js - 如何在 SAP Cloud Platform 中使用 NodeJS 中的 Destination

node.js - npm install, node-gyp build error 仅在两台相同机器中的一台上

javascript - Sails.js - 如何更新嵌套模型

javascript - Sails js 中的文件名生成器

android - 从移动应用程序调用多个 API 有害吗?

javascript - AWS S3 createPresignedPost URL 可以上传任何大小的文件,尽管有限制