Sequelize是我的新手,以前主要使用Yii2 ActiveRecord作为ORM。
关于Sequelize验证,目前我只收到以下格式的错误:-
"errors": [
{
"message": "notNull Violation: modelname.model_attribute cannot be null,",
}
]
Sequelize是否有任何内部方法以下列格式返回错误?
"errors": [
{
"modelname":
{
"model_attribute": ["cannot be null"]
}
}
]
我发现通过API调用处理表单错误等更为理智。
谢谢。
答案 0 :(得分:0)
我不确定是否使用相同的格式,但是对于自定义消息,请在您的模型中添加验证功能,如下所示:
battery_name: {
type: DataTypes.STRING(66),
allowNull: false,
validate: {
len: {
args: [0, 60],
msg: 'Some custom message'
},
notEmpty: {
msg: 'Another custom message'
}
}
}
此处有更多信息:https://sequelize.readthedocs.io/en/v3/docs/models-definition/#validations
此外,您可以像这样使用以下方法添加捕获以将错误分组:
SequelizeModel.create({}).then(() => { /* ... */ }).catch(Sequelize.ValidationError, e => {
/* create logic to group/format/change default sequelize error */
})