Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Валидация полей формы на JS и сервере (https://javascript.ru/forum/events/17693-validaciya-polejj-formy-na-js-i-servere.html)

alex_89 30.05.2011 09:59

Валидация полей формы на JS и сервере
 
Привет! У меня такая проблема.Я написал скрипт на JS, для проверки полей формы регистрации на валидность ! Если скрипты отключены, то делать проверку на PHP. Как это можно реализовать? C помощью <noscript> не получается т.к сайт сверстан с помощью обработчика шаблонов Smarty!!!!

Serg_pnz 30.05.2011 10:12

Имхо на php надо всегда делать проверку, что бы Вам, например, на почту не прислали "Войну и мир" - вариантов обхода валидации на js много.

trikadin 30.05.2011 10:28

Цитата:

Сообщение от Serg_pnz
Имхо на php надо всегда делать проверку, что бы Вам, например, на почту не прислали "Войну и мир" - вариантов обхода валидации на js много.

Абсолютно согласен. Лучше всего - сделать и то, и другое, примерно так:

function validate(form) {
/* проверяем форму... */
}
<form onsubmit="return validate(this)">
<-- Ваша форма, какая вам нужна -->
</form>


При отключенном javascript обработчик не сработает. Функция validate возвращает true или false, в зависимости от того, прошла форма валидацию или нет.

alex_89 30.05.2011 10:50

Я так понял, что если скрипты отключены, то работает проверка на PHP! Тогда вопрос если скрипты включены то проверка то же работает получается т.е 2 проверки выводится: на JS и PHP - так для проверки поля логин: выведется сообщение и на JS и на PHP?
Я сделал также как вы сказали: прикрутил обработчик к форме!!!!

Kolyaj 30.05.2011 12:57

Проверка в браузере: чтобы пользователь максимально быстро форму заполнил.
Проверка на сервере: чтобы в базу плохого ничего не записалось.

Это две независимые проверки.

alex_89 30.05.2011 13:19

А если скрипты отключены то идет проверка на PHP?

Kolyaj 30.05.2011 13:48

Проверка на PHP идёт всегда.

Маэстро 31.05.2011 12:03

1. Проверку на сервере надо предусматривать/делать всегда и ОБЯЗАТЕЛЬНО. Иначе его сломают на следующий день.
2. Проверку на стороне клиента в броузере на javascript делать ЖЕЛАТЕЛЬНО, т.к. это снижает количество бесполезных запросов к серверу и устраняет раздражение пользователя при ожидании ответов от сервера. Пример: "ОШИБКА! Поле логин должно содержать минимум 6 символов, а Вы ввели только 4" - удобно, если количество символов будет проверяться перед отправкой формы.

Mightyraven 03.12.2011 22:11

Цитата:

Сообщение от trikadin (Сообщение 106623)
При отключенном javascript обработчик не сработает. Функция validate возвращает true или false, в зависимости от того, прошла форма валидацию или нет.

С чего это вы взяли???
почему сабмит не сработает при отключенном яваскрипт?
просто с тега Form убираем атрибут onsubmit="return validate(this)"

trikadin 04.12.2011 00:11

Цитата:

Сообщение от Mightyraven
С чего это вы взяли???
почему сабмит не сработает при отключенном яваскрипт?

Не тупи. Не сработает не submit, а обработчик на нём.


Часовой пояс GMT +3, время: 09:06.