我有一个行程模型
var Itinerary = sequelize.define('Itinerary', {
title: {
type: DataTypes.STRING,
allowNull: false,
validate: {
notEmpty: true
}
}
})
这适用于防止空输入,但如果我输入“null”,它仍会添加到我的数据库中。阅读文档,它看起来应该防止这种情况发生?我做错了吗?
答案 0 :(得分:1)
Sequelize(和db)将“null”解释为有效字符串。
itinerary.title ='null';
不同于:
itinerary.title = null;
如果您愿意,可以在模型中添加额外的验证方法,以查找此字符串为空。
var Itinerary = sequelize.define('Itinerary', {
title: {
type: DataTypes.STRING,
allowNull: false,
nullorEmpty: function() {
if (!this.title || (this.title === 'null') {
throw new Error('title must be set')
}
}
}
})