我正在尝试通过模型验证验证min
和max
验证
last_name:{
type:Sequelize.STRING,
validate:{
notEmpty:{
args:true,
msg:"Last name required"
},
is:{
args:["^[a-z]+$",'i'],
msg:"Only letters allowed in last name"
},
max:{
args:32,
msg:"Maximum 32 characters allowed in last name"
},
min:{
args:4,
msg:"Minimum 4 characters required in last name"
}
}
}
但min
和max
验证器永远不会被解雇所有其他验证器工作正常
答案 0 :(得分:2)
你需要传递args数组
max:{
args:[32],
msg:"Maximum 32 characters allowed in last name"
},
min:{
args:[4],
msg:"Minimum 4 characters required in last name"
}
使用len验证器:
var Test = sequelize.define('test', {
name: {
type: Sequelize.STRING,
validate: {
notEmpty: {
args: true,
msg: "Required"
},
is: {
args: ["^[a-z]+$", 'i'],
msg: "Only letters allowed"
},
len: {
args: [4,32],
msg: "String length is not in this range"
}
}
},
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
}
}, {
tableName: 'test'
});
Test.create({name: "ab"}, function(error, result) {});