Как проверить массив строк с помощью экспресс-валидатора?

options = ['asdasda', 'asdasdas', 'asdasdasafsaafasfasfasfasfasfasasasasasdas', 'asd'];
req.check('options', 'Option must not exceed 30 characters').isLength({max: 30});

Я пытаюсь проверить каждую строку в параметрах массива. Есть ли способ сделать это?


person Zoho Corporation    schedule 11.10.2017    source источник
comment
Вы пытаетесь проверить переменную, которую вы определили в своем коде, или это просто образец тела вашего запроса?   -  person gustavohenke    schedule 11.10.2017


Ответы (1)


Да, вы должны использовать подстановочные знаки для этого.

req.check('options.*').isLength({ max: 30 })
person gustavohenke    schedule 11.10.2017
comment
он не выдает ошибку, если нет ключа с именем options - person Cybersupernova; 20.08.2019
comment
@Cybersupernova да, потому что приведенное выше проверяет, что каждый элемент в options соответствует условию. Он работает так же, как Array.prototype.every. Вы можете заставить options существовать другими способами. - person gustavohenke; 21.08.2019