Сообщение от SolomonRei
|
html его проверяет сам
|
HTML ничего не проверяет, проверяет браузер, но тогда почему проверкой других полей занимается скрипт? Если нужна проверка на клиенте для стареньких браузеров, то и адрес нужно проверять скриптом. Если же рассчитано только на новые браузеры, а для старых и проверки сервера хватит, то выбрасывайте проверку скриптом, определите шаблоны проверки (атрибут pattern) для логина и пароля, все проверит браузер. Скрипту останется проверка только равенства двух полей пароля и выбора флажка.
Но те рег. выражения что у вас никуда не годятся - логин можно ограничить мин. длиной, это уже политика своя, но ограничить макс. длину, это обязательно. Также и пароль - нельзя допускать слабых паролей, длина должна быть не менее 8-10 символов, и ни в коем случае любой длины, иначе зарегистрируют огромные, а затем забьют DDOS атакой на их хешировании.
Верстка html не годится, label в div, это пожалуйста, но чтобы наоборот. Полям ввода id совсем не нужные, даже не смотря что скрипту придется с ними работать. А вот элементам выводящим ошибки не мешало бы, хотя можно работать и по именам полей, помещая ошибку в элемента следующий за ним. Но и тут у вас все сверстано странно - назначение поля не до него, а после.
Это к тому, что alert(массив ошибок) это нечто, а нужен массив объектов - "имя_поля" : "сообщение об ошибке", тогда они и будут попадать на свои места. Сервер должен проверять не только разрешения по логину и паролю, адрес, но также занятость адреса и логина. То есть при регистрации обязательно будет диалог, а значит сервер должен возвращать json, и при наличии ошибок отдавать их как массив объектов, о которых говорилось выше.
Сообщение об ошибка соответствующего поля должно очищать при получении полем фокуса - добавьте такой обработчик.
Речь идет о регистрации, а значит нужна каптча - сторонний ли сервис, что-то свое, но нужна.