【发布时间】:2015-12-30 20:46:44
【问题描述】:
我正在尝试检查用户名是否唯一,并且我认为我需要对此进行自定义验证。我编写了以下代码,但不是在.validate() 返回的数组中返回错误,而是抛出错误,这不是文档中描述的行为,也不是我想要的。
var User = sequelize.define('User', {
username: {
type: DataTypes.STRING,
validate: {
isUnique: function (username) {
User.find({ where: { username: username }})
.done(function (err, user) {
if (err) {
throw err;
}
if (user) {
throw new Error('Username already in use');
}
});
}
}
},
【问题讨论】:
-
有点过时,但您是否有理由不通过在 dbms 中使用唯一键约束来强制执行用户名?
-
不知道怎么用,用这个库。
标签: database node.js model sequelize.js