我创建了一个模型,其验证如下:
sequelize
.define('Email',
{
email: { type: DataTypes.STRING, allowNull: false, unique:false, defaultValue: 'placeholder',
validate: {
isEmail: true,
}
}
});
如果我尝试使用空的电子邮件'创建一封电子邮件。字段,它会生成此错误:
{
"error": {
"__raw": [
null
],
"email": [
"Validation isEmail failed"
]
}
什么是__raw字段,如何删除它?
答案 0 :(得分:0)
尝试此验证
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
validate: {
emailValidation: function() {
var pattern = /^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+)*@[a-z0-9]+(\-[a-z0-9]+)*(\.[a-z0-9]+(\-[a-z0-9]+)*)*\.[a-z]{2,4}$/;
if(!pattern.test(this.email)) {
throw new Error('INVALID_EMAIL');
}
}
}
}
希望这是有帮助的