Экспресс-валидатор, используемый в MDN Express Tutorial

В учебнике по экспресс-MDN здесь используется следующий код для проверки

// Validate that the name field is not empty.
body('name', 'Genre name required').isLength({ min: 1 }).trim(),

Чего я не понимаю, так это почему trim() прикован после isLength() Проверка. Разве это не должно быть наоборот, или это та же самая семантика в любом случае?

Я попытался просмотреть документ экспресс-проверки на предмет упоминания чего-то подобного, но безуспешно.

ОБНОВИТЬ

В ответ на ответ Густавохенке, я думаю, что меня смутило то, что я увидел две точки санации, как показано на скриншоте учебника MDN express ниже:

MDN Экспресс учебник относительно проверки / дезинфекции

поэтому, когда я прочитал документ для проверки экспресс- проверки "Если вы используете какое-либо из дезинфицирующих средств вместе с валидаторами, проверенное значение является очищенным", мне было интересно, какой пункт дезинфекции?

Из того, что я охарактеризовал, однако, является то, что документация в экспресс-руководстве (где говорится, что дезинфицирующие средства на этапе валидации применяются только к этому шагу валидации и не изменяют запрос, и поэтому требуется другое дезинфицирующее средство) больше не соответствует действительности., Другими словами, я думаю, что вы можете выполнять всю дезинфекцию и валидацию в одной цепочке.

1 ответ

Решение

Чтобы понять это сначала: trim это дезинфицирующее средство, а не валидатор, как isLength,

В настоящее время (по состоянию на v5.xx), когда вы указываете и дезинфицирующие средства, и валидаторы в одной и той же цепочке, дезинфицирующие средства всегда запускаются перед валидаторами. Если вы укажете больше дезинфицирующих средств, они будут работать в указанном порядке.

Это задокументированное поведение, но его довольно просто не увидеть:

Если вы используете какое-либо дезинфицирующее средство вместе с валидаторами, то проверенное значение является очищенным.

Как вы, наверное, догадались, это удивляет пользователей, и планируется перейти на следующую основную версию.

Другие вопросы по тегам