如何validationsequelize.js中的string字段?

我如何validation数据库字段只接受一个string?

在我的数据库中,我有两个字段:

  1. description :string
  2. 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,它的值不是truefalse

 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