Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Валидация на стороне клиента и сервера

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 22 Июля, 2015 - 21:24:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Есть проект, в котором имеется проверка на введённых данных в форму регистрации (валидация на стороне сервера).

Теперь потребовалось подключить доп. проверку валидации визуально что бы было красиво, для этого напр. использовал плагин http://formvalidation[dot]io и как я понял он делает валидацию на стороне клиента.

Вопрос: Если удалить старый код который делал проверку на стороне сервера, будет ли это чем нибудь критично или не правильно? По моему мнению есть пользователь отк. JS в браузере, получается что валидация не сработает...

А есть есть идей в начале при загрузке страницы делать проверку вкл. или выкл. JS в браузере и тем самым выводить форму или нет.

спс.Ув.
 
 Top
Flash_PR
Отправлено: 22 Июля, 2015 - 21:43:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 328
Дата рег-ции: Окт. 2013  
Откуда: Санкт-Петербург


Помог: 6 раз(а)




pantela пишет:
А есть есть идей в начале при загрузке страницы делать проверку вкл. или выкл. JS в браузере и тем самым выводить форму или нет.


Пользователь может не отключать js в браузере, и при этом обойти валидацию......Запомните js это то что выполняется на стороне клиента......И он может просто убрать ваш плагин валидации.

Как итог, убирать валидацию на стороне сервера нельзя, плохая идея

(Отредактировано автором: 22 Июля, 2015 - 21:49:39)



-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
DelphinPRO
Отправлено: 22 Июля, 2015 - 21:48:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Валидация на стороне клиента - для удобства пользователя.
Валидация на стороне сервера - для спокойствия админа.
Нельзя делать хорошо только одному из них, позаботьтесь об обоих.
ok? Улыбка

(Отредактировано автором: 22 Июля, 2015 - 21:49:27)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
pantela
Отправлено: 23 Июля, 2015 - 00:08:50
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




спс. как я понял валидацию оставляю на обе стороне, и поверить все так делают? Закатив глазки
 
 Top
Flash_PR
Отправлено: 23 Июля, 2015 - 12:19:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 328
Дата рег-ции: Окт. 2013  
Откуда: Санкт-Петербург


Помог: 6 раз(а)




pantela пишет:
и поверить все так делают?

На счет всех не знаю. Но при выборе чего то одного проверки на сервере или проверке на на клиенте, выберу на сервере. А ты удалить собирался......))) Проверка и там и там лучший вариант.


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
pantela
Отправлено: 04 Ноября, 2015 - 21:56:40
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Для формы рег. делаю JS проверку на стороне клиента. Для поля почты, надо допустить:

Текущаая проверка виде regexp:
CODE (javascript):
скопировать код в буфер обмена
  1. ^[a-zA-Z0-9-_+\\.]+@([a-zA-Z0-9-_]+\\.)+[a-zA-Z]+$


На сколько правильно и где можно проверить, вроде есть он-лайн ресурсы...
напр. сейчас вижу ошибка когда можно начинать писать с точки... т.е. .name@site.com

спс.Ув.

P.S. regexp идейтично работает в JS и PHP? что бы тоже самое на серверную часть перенести...
 
 Top
SAD
Отправлено: 04 Ноября, 2015 - 22:13:22
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




достаточно проверить на наличие a@b остальное уже чушь собачья. если нужно будет отправлять письма, то это целиком проблема юзера, который тупит или нарочно делает
 
 Top
Viper
Отправлено: 04 Ноября, 2015 - 22:22:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




pantela пишет:
regexp идейтично работает в JS и PHP?
pcre в обоих случаях. https://developer[dot]mozilla[dot]org/en[dot][dot][dot]ular_Expressions


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
SAD
Отправлено: 04 Ноября, 2015 - 22:25:56
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




вот как чекает html5

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
 
 Top
pantela
Отправлено: 04 Ноября, 2015 - 23:23:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




SAD пишет:
достаточно проверить на наличие a@b остальное уже чушь собачья. если нужно будет отправлять письма, то это целиком проблема юзера, который тупит или нарочно делает
Это ясно, но хотелось бы с 100% точностью сделать... т.к. имею пару страниц где в моих интересах что бы правильно было введено...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB