Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.05.2011, 08:59
Интересующийся
Отправить личное сообщение для alex_89 Посмотреть профиль Найти все сообщения от alex_89
 
Регистрация: 30.04.2011
Сообщений: 23

Валидация полей формы на JS и сервере
Привет! У меня такая проблема.Я написал скрипт на JS, для проверки полей формы регистрации на валидность ! Если скрипты отключены, то делать проверку на PHP. Как это можно реализовать? C помощью <noscript> не получается т.к сайт сверстан с помощью обработчика шаблонов Smarty!!!!
Ответить с цитированием
  #2 (permalink)  
Старый 30.05.2011, 09:12
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Имхо на php надо всегда делать проверку, что бы Вам, например, на почту не прислали "Войну и мир" - вариантов обхода валидации на js много.
Ответить с цитированием
  #3 (permalink)  
Старый 30.05.2011, 09:28
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

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

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


При отключенном javascript обработчик не сработает. Функция validate возвращает true или false, в зависимости от того, прошла форма валидацию или нет.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 02.06.2011 в 08:26.
Ответить с цитированием
  #4 (permalink)  
Старый 30.05.2011, 09:50
Интересующийся
Отправить личное сообщение для alex_89 Посмотреть профиль Найти все сообщения от alex_89
 
Регистрация: 30.04.2011
Сообщений: 23

Я так понял, что если скрипты отключены, то работает проверка на PHP! Тогда вопрос если скрипты включены то проверка то же работает получается т.е 2 проверки выводится: на JS и PHP - так для проверки поля логин: выведется сообщение и на JS и на PHP?
Я сделал также как вы сказали: прикрутил обработчик к форме!!!!
Ответить с цитированием
  #5 (permalink)  
Старый 30.05.2011, 11:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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

Это две независимые проверки.
Ответить с цитированием
  #6 (permalink)  
Старый 30.05.2011, 12:19
Интересующийся
Отправить личное сообщение для alex_89 Посмотреть профиль Найти все сообщения от alex_89
 
Регистрация: 30.04.2011
Сообщений: 23

А если скрипты отключены то идет проверка на PHP?
Ответить с цитированием
  #7 (permalink)  
Старый 30.05.2011, 12:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Проверка на PHP идёт всегда.
Ответить с цитированием
  #8 (permalink)  
Старый 31.05.2011, 11:03
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

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

Сообщение от trikadin Посмотреть сообщение
При отключенном javascript обработчик не сработает. Функция validate возвращает true или false, в зависимости от того, прошла форма валидацию или нет.
С чего это вы взяли???
почему сабмит не сработает при отключенном яваскрипт?
просто с тега Form убираем атрибут onsubmit="return validate(this)"

Последний раз редактировалось Mightyraven, 03.12.2011 в 20:14.
Ответить с цитированием
  #10 (permalink)  
Старый 03.12.2011, 22:11
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Mightyraven
С чего это вы взяли???
почему сабмит не сработает при отключенном яваскрипт?
Не тупи. Не сработает не submit, а обработчик на нём.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидация формы dmsuslov jQuery 4 05.11.2010 15:12
Проверка полей отправляемой формы. denisOgr jQuery 6 18.10.2010 18:40
Очистка формы от дефолтных значений js hereim Общие вопросы Javascript 14 04.07.2010 20:29
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 12:44
проверка полей формы!!!! DENAT Общие вопросы Javascript 0 05.06.2008 21:14