如何validationsequelize.js中的string字段?
我如何validation数据库字段只接受一个string?
在我的数据库中,我有两个字段:
-
description
:string -
completed
:布尔值
我希望description字段只接受一个string值。 我的意思是:
- 'description':'text'=>数据库接受这个请求
- 'descrition':true或false =>数据库拒绝这个请求
- 'descrition':123 =>数据库拒绝这个请求
目前, description
字段可以接受一个布尔值,所以在我的configuration中有一个问题。
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 } } }); };
您可以使用正则expression式validation,检查值是string,它的值不是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