我正在寻找一种解决方案,以在express-validator中提供不同的错误消息,其中选项可以包含多个值,例如 isLength ,该值可以采用最小值和最大值。
balanceByTrades = [100.000,00, -500,00, 1.500,00]
以我的示例为例,我想为最小和最大验证提供不同的错误消息。
for min-名字必须至少包含3个字符。
表示最多-名字不得超过50个字符。
但是我只能在此处提供单个errorMessage,这通常用于两种类型的验证。
有人可以告诉我在express-validator checkSchema验证中怎么可能吗?
答案 0 :(得分:0)
您可以通过创建自定义验证程序来做到这一点。在此自定义验证器中,请检查具有不同条件的名字的长度,并针对每个无效条件拒绝并承诺您的错误消息。
var validation_rules = checkSchema({
first_name: {
notEmpty: {
errorMessage: 'The First Name field is required'
},
isString: {
errorMessage: 'The First Name must be a string.'
},
custom: value => {
if (value.length < 3) {
return Promise.reject("The First Name is too short")
} else if (value.length > 4) {
return Promise.reject("The First Name is too long")
}
return Promise.resolve()
}
}
});