@darksladen

Как правильно делать валидацию форм?

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

Во-первых, насколько будет правильно делать единую логику валидации для всего сайта? Т.е. сделать обработчики для полей и повесить их на класс или на атрибут name (на сколько правильно вешать на name, а не id, например и почему), чтобы валидация применялась на всем сайте. Я общался с опытным разработчиком и он сказал, что они делают валидацию для каждой формы (почему??? Ведь про какое то поле можно забыть к примеру =)), а также что присваивать id полям это круто (также очень интересно почему, ведь id по сути вообще плохой тон и что если будет на 1 странице 2 одинаковые формы.. Тогда придется второй тоже другие id делать).

2. Хорошо ли использовать js плагины или лучше самому делать, опять же по словам крутого разраба, ПРОЩЕ сделать самому.. Что скажите?

3. Как обычно обрабатывается ответ от сервера? Сейчас я посылаю запрос контроллеру (laravel использую) и в представление передаю статус, в зависимости от которого выводятся разные сообщения. Т.е. в случае ошибки сервер дает вьюху с ошибкой. Лучше так делать или какой нибудь статус отсылать клиенту, чтобы там на js его уже обработать?

Если дочитали, то огромное спасибо =) Рад буду любым мыслям!
  • Вопрос задан
  • 1479 просмотров
Решения вопроса 2
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
они делают валидацию для каждой формы (почему??? Ведь про какое то поле можно забыть к примеру =))

Валидация - она на то и валидация, нужно все проверить.

ведь id по сути вообще плохой тон

Эмм... что? В стилях - да, это плохо, но не в скриптах.

Тогда придется второй тоже другие id делать

Это проблема? Кажется, что нет.

по словам крутого разраба, ПРОЩЕ сделать самому.. Что скажите?

Валидация на клиенте - это регулярное выражение + некая реакция на правильность/неправильность действий пользователя. Написать руками часто действительно проще и быстрее, чем переписывать готовое.

посылаю запрос контроллеру (laravel использую) и в представление передаю статус, в зависимости от которого выводятся разные сообщения. Т.е. в случае ошибки сервер дает вьюху с ошибкой.

С точки зрения UX вы должны (если пользователь ошибся) показать ему сразу на ошибку в духе "эй, парень, у тебя пароль короче восьми символов" и подсветить форму с паролем (пример). И ничего не отправлять на сервер.
Ответ написан
delphinpro
@delphinpro
frontend developer
Берем плагин www.formvalidator.net
Подключаем, инициализируем и всё. Все формы на сайте валидируются. Правила валидации задаются в дата-атрибутах полей. При желании, если правила более или менее одинаковые в разных формах - их можно задать в инициализации плагина. Плагин с широкими возможностями, достаточно много стандартных валидаторов, можно легко дописывать свои, мультиязычный и т.д. и т.п.
Для маленьких и средних сайтов, включая лендинги - зе бест.

по словам крутого разраба, ПРОЩЕ сделать самому

категорически не согласен. Что может быть проще подключения готового плагина? Конечно мы не говорим тут о сложных формах с зависимыми переключателями и тому подобное.

Где лучше указывать url, на который будет отправляться форма

Единственное правильное место для указания данного URL - атрибут action формы. Без вариантов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы