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"
Другие вопросы по тегам