В самом деле, вы можете выполнять почти все проверки в своей схеме mon goose, как при использовании express -validator. Mon goose теперь поддерживает проверку и на update
, так что вы можете go.
Позвольте мне указать на два случая:
Если Проверка logi c проста и мала, с проверкой mon goose проблем нет. Но в случае сложных правил проверки и нескольких полей, тогда express -validator может быть лучшим выбором.
Если mon goose встроенных валидаторов недостаточно для вашего журнала проверки c вам необходимо создать настраиваемые валидаторы . Вам придется добавить намного больше строк кода, в результате чего получится слишком большой файл модели mon goose.
Насколько я понимаю, я хочу, чтобы файлы модели js были как можно более чистыми. Express -validator, который является оболочкой для валидатора. js предлагает валидаторы (например, isAlphanumeri c, isEmail и многие другие), которые могут избавить вас от большого количества строк кода. Таким образом, вы сохраняете журнал проверки c в отдельных файлах, а ваш код становится более чистым и организованным.
Другой момент касается потока выполнения кода .
Express -validator - это промежуточное ПО для проверки. Когда вы отправляете форму через почтовый запрос, вы можете запустить журнал проверки c и в случае какой-либо ошибки возвращать сообщения об ошибках клиенту, не дойдя до контроллера или кода службы.
Опять же, на мой перспектива - плохая практика для запуска кода контроллера или другого сервиса (в зависимости от вашей архитектуры) с отправкой данных от клиента без проверки или дезинфекции. При использовании Express -validator, когда поток выполнения кода достигает логики контроллера c, это означает, что данные, которые вы собираетесь вставить в базу данных, хорошо проверяются и дезинфицируются.
Без использования какого-либо промежуточного программного обеспечения для проверки вы должны запустить весь лог c контроллера и дождаться возможной ошибки проверки, только когда поток достигнет метода сохранения или обновления mon goose. Представьте, что ваш контроллер включает в себя десяток сервисных функций. Зачем запускать весь этот logi c, если он должен отменить его из-за неверных данных?
В заключение, оба метода могут удовлетворять вашим правилам проверки. На мой взгляд, go с Exspress-validator для более чистого и организованного кода, а также для лучшего и более безопасного выполнения кода.