在Sequelize中使用自定义验证器中的现有验证器

时间:2014-04-03 05:10:04

标签: node.js validation orm sequelize.js

我在我的Node.JS项目中使用Sequelize,我想知道是否有一种方法可以在用户定义的内部使用现有的验证器。

例如:

  var User = sequelize.define('User', {
    foo: {
      type: Sequelize.STRING,
      validate: {
        newValidator: function (value) {
          //something like 
          if (value.length == 10) {
            return this.foo.isUrl && this.foo.contains('bar');
          } else {
            return this,foo.isEmail;
          }
        }
      }
    }
  });

是否有可能以某种方式引用现有的验证器?

1 个答案:

答案 0 :(得分:2)

如果您使用的是新版本(不确定sequelize验证器何时向用户公开),您可以执行Sequelize.DAOValidator.Validator.isUrl()等。如果这对您不起作用,请尝试将验证器导入您自己的项目{ {1}}。由于验证器已经是一个续集依赖,因此不需要将它添加到您的包中