@web-quest3

Аякс и валидация на сервере?

Мне нужна валидация на сервере и клиенте.
На тот случай если js отключен.
И на случай когда js включен.
На мысль приходит только дублирование валидации как на сервере так и на клиенте но может можно это обойти провалидировать на сервере и отправлять на клиент (ок или эррор)?
  • Вопрос задан
  • 555 просмотров
Пригласить эксперта
Ответы на вопрос 5
@PavelFokeev
pavl1k.ru
Мне нужны яблоко и груша. Но может можно как-то обойтись, и взять только грушу?
Ответ написан
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
На тот случай если js отключен.
это < 0,01% от пользователей. Думаете надо для них велосипед делать? Думаю пусть идут вальсом.
Ответ написан
Eridani
@Eridani
Мимо проходил
Честно, сам не знаю, но как по мне, то делать проверку на аякс. Отправьте аяксом какой-нибудь пост, наприме ajax: on вместе с остальным data, и отслеживайте в пхп его, если принят, то проводите проверку аяксом, если нет, то форма экшеном сделает прямой запрос до пхп файла, в котором, естессна, ПОСТ'а ajax: on уже не будеи, и там уж вы проведете валидацию посредством пхп
Ответ написан
Ivanq
@Ivanq
Знаю php, js, html, css
Валидировать лучше везде.

Пример:
Можно закачать до 5 фотографий JPEG

На клиенте:
Проверить, что файлов <= 5, иначе вывести сообщение.
Проверить, что файлов >= 1, иначе вывести сообщение.
Проверить, что файлы в формате JPEG, иначе вывести сообщение.

На сервере:
То же самое, но вместо вывода сообщения - "error #001: files > 5" и т. п.

На клиенте - чтобы можно было быстро, красиво вывести сообщение, не отправляя 200 гигов на сервер.
На сервере - чтобы не пропустить хакеров ламеров, которые будут заливать котиков, обойдя JS.
Ответ написан
Falseclock
@Falseclock
решаю нестандартные задачи
Зачем писать код, который делает одно и то же? Пусть даже на разных языках.

При нажатии на кнопку в функции обработчике onclick передаете данные на сервер и ждете ответа. В самом onclick возвращаете false. С сервера возвращаете что правильно, а что не правильно. Если все правильно, то вызываете в JS form.submit();

Это будет правильней.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы