validatorjs передает все тестовые примеры при использовании подстановочного знака, даже если тест должен завершиться неудачно
У меня есть массив объектов заказа, и я пытаюсь проверить свойства каждого объекта. мой пример кода runkit здесь. Может ли кто-нибудь сказать мне, почему он проходит тесты, когда он должен их провалить и как это исправить?
тело объекта - это массив объектов:
let body={order:[
{CompanyId:12},
{CompanyId:00}]}
правило проверки:
const orderValidationRule = {
"order.*.CompanyId": "required|digits_between:4,6", //4 to 6 digits long
"order.*.Location": "required:size:2",
"order.*.CustomerId": "required:min:0"}
вызов метода проверки для проверки объектов:
const validator = (body, rules, customMessages, callback) => {
const validation = new Validator(body, rules, customMessages);
validation.passes(() => callback(null, true));
validation.fails(() => callback(validation.errors, false));
};
validator(body.order, orderValidationRule, {}, (err, status) => {
if (!status) {
throw `validation failed: ${JSON.stringify(err)}`;
}
else{
console.log(`validation success: ${status} ${JSON.stringify(body.order)}`)
}
});
1 ответ
Я неправильно форматировал правила проверки порядка. Мне было нужно:
"order.*.CompanyId": "between:1000,9999999|numeric"
"order.*.Location": "required|size:2"
"order.*.CustomerId": "required|min:0|numeric"