gpt4 book ai didi

validation - Sequelize : Unique validation with soft deleted registers

转载 作者:行者123 更新时间:2023-12-03 22:16:09 25 4
gpt4 key购买 nike

我正在使用 sequelize,我的模型“用户”有一个字段“电子邮件”,它具有唯一的验证。
但是,当我尝试使用旧注册软删除的同一电子邮件创建新注册时,验证会触发并且不允许我继续。
这是一个错误,唯一的验证需要一个特定的参数还是应该以这种方式工作?

模型的电子邮件:

email: {    
type: Sequelize.STRING(191),
allowNull: false,
unique: {
msg: 'Email já cadastrado.'
},
validate: {
isEmail: {
msg: 'Formato de email inválido.'
},
notEmpty:{
msg: 'Email deve ser informado.'
}
}
}

我使用的 sequelize 版本是:4.17.2

最佳答案

这不是错误 - 它正在数据库表上强制执行唯一索引。 “软”删除只是将记录标记为已删除(例如 isDeleted=true),但实际上并未将其从数据库表中删除。假设数据库确实允许您在唯一列中创建重复值,如果您曾经取消删除具有冲突名称的软删除项目,则会导致问题。
您似乎想要的功能是可能的,但您需要在应用程序中以编程方式而不是在数据库级别强制执行逻辑。

关于validation - Sequelize : Unique validation with soft deleted registers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47055285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com