Показать сообщение отдельно
  #5 (permalink)  
Старый 08.12.2018, 21:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SolomonRei
html его проверяет сам
HTML ничего не проверяет, проверяет браузер, но тогда почему проверкой других полей занимается скрипт? Если нужна проверка на клиенте для стареньких браузеров, то и адрес нужно проверять скриптом. Если же рассчитано только на новые браузеры, а для старых и проверки сервера хватит, то выбрасывайте проверку скриптом, определите шаблоны проверки (атрибут pattern) для логина и пароля, все проверит браузер. Скрипту останется проверка только равенства двух полей пароля и выбора флажка.

Но те рег. выражения что у вас никуда не годятся - логин можно ограничить мин. длиной, это уже политика своя, но ограничить макс. длину, это обязательно. Также и пароль - нельзя допускать слабых паролей, длина должна быть не менее 8-10 символов, и ни в коем случае любой длины, иначе зарегистрируют огромные, а затем забьют DDOS атакой на их хешировании.

Верстка html не годится, label в div, это пожалуйста, но чтобы наоборот. Полям ввода id совсем не нужные, даже не смотря что скрипту придется с ними работать. А вот элементам выводящим ошибки не мешало бы, хотя можно работать и по именам полей, помещая ошибку в элемента следующий за ним. Но и тут у вас все сверстано странно - назначение поля не до него, а после.

Это к тому, что alert(массив ошибок) это нечто, а нужен массив объектов - "имя_поля" : "сообщение об ошибке", тогда они и будут попадать на свои места. Сервер должен проверять не только разрешения по логину и паролю, адрес, но также занятость адреса и логина. То есть при регистрации обязательно будет диалог, а значит сервер должен возвращать json, и при наличии ошибок отдавать их как массив объектов, о которых говорилось выше.

Сообщение об ошибка соответствующего поля должно очищать при получении полем фокуса - добавьте такой обработчик.

Речь идет о регистрации, а значит нужна каптча - сторонний ли сервис, что-то свое, но нужна.
Ответить с цитированием