Jab*_*baa 3 mysql node.js sequelize.js sails.js
这是我的模型验证,用于检查是否存在电子邮件ID
email:{
type:Sequelize.STRING,
validate:{
notEmpty:{
args:true,
msg:"Email-id required"
},
isEmail:{
args:true,
msg:'Valid email-id required'
}
},
unique: {
args:true,
msg: 'Email address already in use!'
}
}
Run Code Online (Sandbox Code Playgroud)
除unique电子邮件验证外,所有其他验证都可以正常工作
我遇到了同样的问题,为了解决这个问题,我首先添加了对模型表的索引:
queryInterface.addIndex('users', ['email'], {
indexName: 'email',
indicesType: 'UNIQUE'
})
Run Code Online (Sandbox Code Playgroud)
并将其名称设置为与字段相等,因为如果您不输入该名称,则默认情况下它将创建一个,并且该模型将无法使用该名称。
email: {
type: Sequelize.STRING(191),
allowNull: false,
unique: {
msg: 'your-message-here'
}
},
Run Code Online (Sandbox Code Playgroud)
我不知道这是sequelize上的错误还是我使用的版本存在问题,但只有在将索引名称设置为该字段的相同名称后,它才起作用。
| 归档时间: |
|
| 查看次数: |
1788 次 |
| 最近记录: |