如何验证数据库字段只接受字符串? 在我的数据库中,我有两个字段: 描述:字符串 completed:布尔值 我希望描述字段只接受一个字符串值.我的意思是: ’description’:’text’=数据库
在我的数据库中,我有两个字段:
>描述:字符串
> completed:布尔值
我希望描述字段只接受一个字符串值.我的意思是:
>’description’:’text’=>数据库接受此请求
>’descrition’:真或假=>数据库拒绝此请求
>’descrition’:123 =>数据库拒绝此请求
目前,description字段可以接受布尔值,因此我的配置存在问题.
module.exports = function(sequelize, DataTypes) {
return sequelize.define('todo', {
description: {
type: DataTypes.STRING,
allowNull:false,
validate: {
len: [1, 250],
isBoolean:false,
isAlpha:true
}
},
completed: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false,
validate:{
isBoolean:true
}
}
});
};
您可以使用regexp验证来检查值是否为字符串,并且它的值不是true或false:
return sequelize.define('todo', {
description: {
type: DataTypes.STRING,
allowNull:false,
validate: {
is: ^((?!true|false|TRUE|FALSE).){1,255}$
}
},
...
http://docs.sequelizejs.com/manual/tutorial/models-definition.html#validations
