【问题标题】:NodeJS MVC Model ValidationNodeJS MVC 模型验证
【发布时间】:2015-09-04 06:46:47
【问题描述】:

这可能是一个笼统的问题,但我想知道是否有人建议为 NodeJS MVC 应用程序实施模型验证。我目前正在开发一个应用程序,其中模型在存储持久数据(DynamoDB)时具有必填字段和可选字段。

我想在模型文件中设置一个验证函数,以确保根据需要格式化和填充适当的字段,但要确保该方法是模块化的、可重用的、干净的和高效的。

有一些例子可以在 .Net MVC 框架中使用这种函数,但并不是真正的自定义实现,尤其是使用 Javascript。

示例模型:

用户

var User = function (userObj) {
  this.email = userObj.email;         //required
  this.firstName = userObj.firstName; //required
  this.company = userObj.company;     //optional
}

感谢任何反馈!

【问题讨论】:

    标签: javascript node.js model-view-controller model


    【解决方案1】:

    我强烈推荐joi

    var joi = require('joi');
    var userSchema = joi.object().keys({
      email: joi.string().email().required(),
      firstName: joi.string().required(),
      company: joi.string() // or object, or what have you
    });
    
    var User = function(userObj) {
      var err = userSchema.validate(userObj).error;
      if (err) {
         // handle error and abort
      }
      // other code...
    }
    

    或者,您可以在模型的原型上创建一个自定义的 validate 函数来包装 joi 的验证。

    README 包含大量文档,而且非常易于使用,并且输出了您在使用 rest api 时所需要的所有信息(实际上您可以插入它directly into hapijs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-24
      • 2022-01-13
      相关资源
      最近更新 更多