Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Насколько правильна такая проверка полей в форме?

Модерирует : Cheery

articlebot (18-04-2016 19:07): спрашивать нужно в уже существующей теме, а не создавать новую
JavaScript: Проверка значений элементов формы (e-mail, имя..
 Версия для печати • ПодписатьсяДобавить в закладки

   

Focusrite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По этому принципу, сделал проверку правильности ввода имейла:
http://forum.ru-board.com/topic.cgi?forum=31&topic=1935&start=0
 
Сделал форму обратной связи, поля:
- имя
- имейл
- сообщение
 
после нажатия на Отправить, перед тем как перейти на страницу (урл) где идёт непосредственно Отправка на сервер , идёт проверка Яваскриптом, на правильность формата имейла:
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email))
 
если имейл введён не верно, то вылетает окно Яваскрипта с просьбой ввести имейл правильно.
 
если имейл введён верно, то идёт переход на страницу <form action=send.php …..
где идёт проверка имейла на не хорошие символы и после запись сообщения в файл.
 
Насколько верный такой подход? Потому что зайдя на сайт с Андройда, при Отправке сообщения специально ввёл не верный имейл, вылетело окно Яваскрипта с предупреждением что надо ввести верный формат, но случайно нажал на «Запретить вывод  дополнительных окон»,
и теперь при не правильном вводе имейла, никакого предупреждения на Яваскрипте естественно мы не получаем. Поэтому подумал, а верный ли этот способ, ведь так можно упустить желающего написать сообщение.
 
Почему не делаю проверку в файле субмита формы form action=send.php ….> ,без всяких яваскриптов.
Потому что на этом файле будет висеть Цель Метрики, и в случае удачной отправки сообщения, мы получим что Цель достигнута. Но если организовать проверку в файле send.php, то Цель будет достигнута даже тогда, когда имейл введён не верно. Поэтому на send.php мы должны перейти только если всё введено верно.
 
Как лучше тогда это сделать?

Всего записей: 141 | Зарегистр. 18-03-2006 | Отправлено: 16:45 04-03-2016
bordellinoff

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
@Focusrite
Вместо alert() показывайте HTML-сообщение, что-то вроде:
 
if ( isInvalidEmail ) {
   document.getElementById( 'DIV_ERROR_MESSAGE' ).classList.toggle( 'visible' );
    
или
 
   document.getElementById( 'DIV_ERROR_MESSAGE' ).setAttribute( 'style', 'display:block' );
 
или
 
   jQuery( '#DIV_ERROR_MESSAGE' ).show();
}

Всего записей: 50 | Зарегистр. 13-10-2013 | Отправлено: 12:55 05-03-2016
Milienko



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Недавно тоже озадачился правильностью заполнения полей.
Мне понравилось следующее решение:
 
К примеру, есть поле координаты, на которое необходимо поставить правило заполнения в виде ХХХ:ХХХ. Результат выглядит так:
 
<label for="kor">Координаты:</label><font color="#ff0000">*</font> <input type="text" name="kor" size="8" pattern="[0-9]{3}:[0-9]{3}" required/>
 

Всего записей: 113 | Зарегистр. 02-07-2003 | Отправлено: 13:12 07-04-2016 | Исправлено: Milienko, 13:13 07-04-2016
stupom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как лучше тогда это сделать?

Ну, во-первых, всё, что проверяется на стороне браузера/клиента должно делаться только для удобства клиента и только методами не блокирующими доступ к функциональности в случае, если у клиента не работает JavaScript или он "не той системы" и т.п.
Во-вторых, в JavaScript есть alert() который никто в здравом уме не блокирует, его и надо использовать для вывода сообщений об ошибках.
Т.е. обработчик отправки формы (onsubmit) проверяет поля и, если выявляет ошибку, то выдаёт alert() и возвращает false.
В третьих, на стороне сервера проверяете всю форму не зависимо от тех проверок, которые были сделаны JavaScript-ом в браузере.

Всего записей: 182 | Зарегистр. 04-07-2015 | Отправлено: 16:40 18-04-2016
   

Компьютерный форум Ru.Board » Интернет » Web-программирование » Насколько правильна такая проверка полей в форме?
articlebot (18-04-2016 19:07): спрашивать нужно в уже существующей теме, а не создавать новую
JavaScript: Проверка значений элементов формы (e-mail, имя..


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru