这可能是一个普遍的问题,但我想知道是否有人对为 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
}
如有任何反馈,我们将不胜感激!
最佳答案
我强烈、强烈推荐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...
}
或者,您可以在模型原型(prototype)上创建一个自定义 validate
函数来包装 joi 的验证。
自述文件包含大量文档,并且非常易于使用,并输出您需要的 Rest api 所需的所有信息(事实上您可以插入它 directly into hapijs )
关于javascript - NodeJS MVC 模型验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30918588/