Валидация полей формы на JS и сервере
Привет! У меня такая проблема.Я написал скрипт на JS, для проверки полей формы регистрации на валидность ! Если скрипты отключены, то делать проверку на PHP. Как это можно реализовать? C помощью <noscript> не получается т.к сайт сверстан с помощью обработчика шаблонов Smarty!!!!
|
Имхо на php надо всегда делать проверку, что бы Вам, например, на почту не прислали "Войну и мир" - вариантов обхода валидации на js много.
|
Цитата:
function validate(form) { /* проверяем форму... */ } <form onsubmit="return validate(this)"> <-- Ваша форма, какая вам нужна --> </form> При отключенном javascript обработчик не сработает. Функция validate возвращает true или false, в зависимости от того, прошла форма валидацию или нет. |
Я так понял, что если скрипты отключены, то работает проверка на PHP! Тогда вопрос если скрипты включены то проверка то же работает получается т.е 2 проверки выводится: на JS и PHP - так для проверки поля логин: выведется сообщение и на JS и на PHP?
Я сделал также как вы сказали: прикрутил обработчик к форме!!!! |
Проверка в браузере: чтобы пользователь максимально быстро форму заполнил.
Проверка на сервере: чтобы в базу плохого ничего не записалось. Это две независимые проверки. |
А если скрипты отключены то идет проверка на PHP?
|
Проверка на PHP идёт всегда.
|
1. Проверку на сервере надо предусматривать/делать всегда и ОБЯЗАТЕЛЬНО. Иначе его сломают на следующий день.
2. Проверку на стороне клиента в броузере на javascript делать ЖЕЛАТЕЛЬНО, т.к. это снижает количество бесполезных запросов к серверу и устраняет раздражение пользователя при ожидании ответов от сервера. Пример: "ОШИБКА! Поле логин должно содержать минимум 6 символов, а Вы ввели только 4" - удобно, если количество символов будет проверяться перед отправкой формы. |
Цитата:
почему сабмит не сработает при отключенном яваскрипт? просто с тега Form убираем атрибут onsubmit="return validate(this)" |
Цитата:
|
Часовой пояс GMT +3, время: 05:33. |