可以,您可以尝试创建自定义验证器:
validateEmail = (email) => {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
}
module.exports = (sequelize, DataTypes) => sequelize.define('user', {
name: {
type: DataTypes.STRING,
},
phone: {
type: DataTypes.STRING,
},
email: {
type: DataTypes.STRING,
validate: {
isEmailOrEmpty(val, next) {
if (!val || val === "" || validateEmail(val)) {
return next()
}
else {
return next('email is invalid')
}
}
}
}
});
example
)
-
!val
-检查是否存在值
-
val === ""
-
validateEmail(val))
-使用正则表达式验证电子邮件