Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Обязательные поля для заполнения

00 голосов
4
Имеется форма, со своим шаблоном, а не стандартным. В ней есть обязательные поля для заполнения. При этом если эти обязательные поля не заполнить и попытаться отправить данные то страница обновляется, а нужно, чтобы выводилось - "Заполнены не все обязательные поля!". Это реализовано в стандартном шаблоне формы. Но как это сделать, если использовать свой шаблон? Нашел инфу, что можно это сделать с помощью java-скрипта. Но я не силен в этом, только начинаю изучать всё это. Может есть способ легче, без использования ява-скрипта? :(
спросил 17 Ноя, 13 от Jannys (120 баллов)

4 Ответы

00 голосов
Как верстальщик могу вам сказать, что если у формы нет валидации на сервере, но есть валидация на клиенте с помощью js, то одним отрыванием рук разработчику здесь не обойтись :)

Валидация формы на клиенте носит чисто декоративный и интерфейсный характер, т.е. где-то сделать удобнее ввод данных для пользователя, где-то показать красивое всплывающее окошко, что данные недовведены, что обязательные поля недозаполнены, навесив проверку на определенные события, будь то сабмит самой формы, или клики на каких-то элементах формы.

Валидация формы на сервере должна быть в любом случае, т.к. отправить на сервер чего-либо с клиента, даже если на клиенте навешаны какие-то безумные проверки и запреты на js, никакого труда не составляет ;)

Так что вам в любом случае нужно будет делать серверную валидацию. Но это уже к программерам.
ответил 03 Янв, 14 от Traxexx (900 баллов)
00 голосов
Цитата
Имеется форма, со своим шаблоном, а не стандартным.

Какая форма? Компонент main.feedback ?

Цитата
Это реализовано в стандартном шаблоне формы.

Такого не может быть. Если вы имеете ввиду файл template.php то он отвечает за представление вывода информации. Логика формы, в том числе проверка на корректность ввода, находиться в component.php. Например:

Код
if((empty($arParams["REQUIRED_FIELDS"]) || in_array("TOPIC", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["TOPIC"]) <= 3)
$arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_TOPIC");


В данном случае идет проверка на указание темы сообщения.
ответил 18 Апр, 14 от Hohat (720 баллов)
00 голосов
Киньте в шаблон веб-формы элемент "Ошибки формы (ShowFormErrors)".
ответил 12 Авг, 14 от Ahbar (820 баллов)
00 голосов
елементарно, указываем атрибут у тегов <input> - required, и будет всплывать сообщение. а серверную валидацию конечно делать все равно надо.
ответил 17 Дек, 14 от princes (100 баллов)

Похожие вопросы

+1 голос
1 ответ
+1 голос
1 ответ
0 голосов
2 ответов
0 голосов
1 ответ