Ошибки при валидации формы, если форм несколько

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
Singularity
Forum Members
Forum Members
Posts: 30
Joined: Thu May 22, 2014 7:17 am

Ошибки при валидации формы, если форм несколько

Post by Singularity »

Добрый день!
Возникла такая сложность:
На странице одновременно встроены две формы: расширенная внизу и маленькая сверху. В обеих есть каптчи.
При введении неверных данных капчи в одной форме, соответствующая подсказка всплывает в обеих формах, что неприемлемо (вводил сверху, а красная надпись появилась и снизу).

Я нашел пока единственное решение: ввести переменную, которая бы назначалась при нажатии на кнопку "Отправить" (например, $submittedform='footer'), и при выведении списка ошибок (который в шаблоне проверяется перед выводом самой формы) проверялась по принципу: {if... && $submittedform=='footer'}.

Но не нашел способа назначить эту переменную. Был вариант назначить ее через UDT в свойстве формы Form Submission Behavior, но подключение в этом поле любого, даже содержащего "echo 'Hello world';" тэга приводит к тому, что ошибка при вводе каптчи не высвечивается должным образом, там вообще немного неадекват выходит в этом варианте...

Так что ключевой вопрос №1: как, работая в FormBuilder, сделать так, что при нажатии на кнопку "Submit" некоей переменной присваивалось нужное значение?

Вопрос №2: А может, сама исходная проблема в чем-то ином (высвечивание ошибки одной формы в обеих, загружаемых в одном документе)?

Заранее спасибо!
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: Ошибки при валидации формы, если форм несколько

Post by guro »

Если обе формы помечены встроенными "Pасширения" => "Конструктор форм" => Нужная форма => "Основные настройки" => "Показывать форму встроенной?:", то сообщения об ошибках должны показываться у каждой формы свои.
Singularity
Forum Members
Forum Members
Posts: 30
Joined: Thu May 22, 2014 7:17 am

Re: Ошибки при валидации формы, если форм несколько

Post by Singularity »

С ошибками - да, с капчей - нет, одна ошибка в двух формах
Singularity
Forum Members
Forum Members
Posts: 30
Joined: Thu May 22, 2014 7:17 am

Re: Ошибки при валидации формы, если форм несколько

Post by Singularity »

Придумал костыль: проблема возникала из-за того, что ошибка в капче создавает переменную $captcha_error, а вывод ошибки во всех формах проходит через условие if isset($captcha_error) && $captcha_error.

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

Поэтому решение получилось такое: после выдачи ошибки впервой форме обнулить переменную:
$captcha_error = '';

Работает.
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: Ошибки при валидации формы, если форм несколько

Post by guro »

А если ошибка была во второй форме? ;)
Singularity
Forum Members
Forum Members
Posts: 30
Joined: Thu May 22, 2014 7:17 am

Re: Ошибки при валидации формы, если форм несколько

Post by Singularity »

Если во второй шибка, то первая не реагирует )
Вот если будет три, то тут придется попотеть, поэтому на будущее хотелось бы выяснить, как лечить...
Post Reply

Return to “Russian - русский”