以下是检查email-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!'
}
}
所有其他验证工作正常,但unique
电子邮件验证
答案 0 :(得分:5)
我有同样的问题,为了解决这个问题我首先添加到模型表的索引中:
queryInterface.addIndex('users', ['email'], {
indexName: 'email',
indicesType: 'UNIQUE'
})
并将其名称设置为等于该字段,因为如果您不这样做,它将默认创建一个,并且模型将无法使用它。
email: {
type: Sequelize.STRING(191),
allowNull: false,
unique: {
msg: 'your-message-here'
}
},
我不知道它是关于sequelize的错误还是我正在使用的版本的问题,但它只有在我将索引名称设置为与该字段相同之后才有效。
答案 1 :(得分:1)
@media (max-width: 767px) {
.tabs {
display: flex;
}
.tabs li {
max-width: 33.33%;
flex: 1 1 33.33%;
}
.tabs li a {
overflow: hidden;
text-overflow: ellipsis;
box-sizing: border-box;
width: 100%;
}
}
@media (max-width: 419px) {
.tabs {
flex-wrap: wrap;
}
.tabs li {
width: 100%;
flex: 1 0 100%;
max-width: 100%;
}
.tabs li a {
white-space: normal;
}
}
答案 2 :(得分:0)
试试这个
email:{
type:Sequelize.STRING,
validate:{
notEmpty:{
args:true,
msg:"Email-id required"
},
isEmail:{
args:true,
msg:'Valid email-id required'
}
},
unique: { msg: 'Email address already in use!' }
}
答案 3 :(得分:0)
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!'
}
}
这将起作用。为此,只需将db约束添加到模型中,然后删除db并重新启动服务器即可。
或者您可以添加
db.sequelize.sync({force: true}).then(() => {
console.log("Drop and re-sync db.");
});
访问您的 app.js 。在这种情况下, {force: true}
将每次自动删除并重建数据库。
{force: true}
添加到您的**db.sequelize.sync**
中。{force: true}
中删除 **db.sequelize.sync**
。