FormIt. Классическая modx форма обратной связи. Подробнее!

Автор Liza Merichenko
FormIt. Классическая modx форма обратной связи. Подробнее!

друзья.

Всем привет. Это канал openmax. Меня зовут.

Артём Жирнов и сегодняшнее видео будет посвящена такому популярному компоненту как form ID я буду рассматривать его в связке с компонентом ajaxform, но по сути говорить мы только про форум и про его самое наверное популярные параметры и особенности их настройки.

Давайте сначала покажу форму которая работает на сайте то есть — это стандартная такая классическая форма обратной связи, но с некоторыми скажем так особенностями при попытке отправить возникает сообщения об ошибках при этом есть некоторые поля которые о которых мы сегодня поговорим поле ваш телефон. И поле ваш e-mail многие из вас уже так формы делали много раз, но наверняка немногие знают как сделать так чтобы нас была возможность указать какое-то одно из этих полей то есть указал либо e-mail либо свой телефон то есть что-то одно для того чтобы мы могли с ним потом связаться, а при этом. И то и другое поле у нас должна никому регулярному выражению то есть некоторым критериям по которым мы можем сказать, что поле указана корректно если мы например укажем телефон в каком-то некорректном виде то он прогнётся на то, что телефон указан не при этом под млн у нас уже больше нету. Никакой ошибки то есть предполагается, что пользователь ведёт нам телефон при этом если мы его оставим пустым то у нас по-прежнему будет дальше теперь. Давайте попробуем указать какой-нибудь почтовый ящик в этом случае у нас ошибка по телефонам исчезает и система просит нам указать корректно почтовый адрес теперь давайте рассмотрим собственно код этой и поговорим подробно про некоторые параметры как. Вы наверняка знаете формы и есть встроенные валидаторы они описаны на странице документация этого компонента и среди них есть такие классические validators mail.ru. А и. Рекс То есть — это ну на мой взгляд такие три самых важных и популярных валидатора возможно кто-то использует и другие для других целей. Но сегодня мы поговорим именно про них. Ну я думаю реквизиты e-mail тут особо комментировать. Нечего здесь поле поле e-mail у нас как раз таки проверяется валидатором емэйл то есть проверяется ли она регулярному выражению для проверки корректности введения почтового адреса, что касается телефона то здесь у меня указан вот такой вот регулярное выражение и. Наверняка вы заметили, что здесь стоит некий валидатор. Рефлекс нету в стандартной поставке есть regexp отличие точнее минус вот этого валидатора в том, что он не некорректного символы начало строки и конца строки. То есть — это такая стрелочка вверх как вот — это вот и значок доллара то есть для того, что как-то их писать я не нашел никакого способа кроме как написать собственный валидатор поэтому сейчас мы как раз поговорим про устройство собственных валидаторов и постановку некоторых параметров в общем-то мой валидатор. Серёг span внутри устроена очень просто то есть моему на вход подаем регулярное выражение которому должна соответствовать данное поле в моём случае — это поле поле фон то есть телефон для того чтобы вашего редактор заработал и корректно запустил. Вам необходимо его не только указать параметры вылетает как один из валидаторов в цепочке ещё его необходимо зайти в параметры Custom validator V9 через запятую указываем набор валидаторов которые фармит должен рассматривать как пользовательские в случае они заработают и после того как вы их здесь указали необходимо собственно написать код этих валидаторов. То есть — это по сути обычный сниппет которая на вход получает определенные параметры в моём случае с ней потом меня хранятся вот эти два валидатора у меня сохранены в папке сниппетов я использую. Яндекс, но в вашем случае если вы не используете вам просто нужно их через админку как классические сниппета. А давайте откроем этот validator for regex вот мы видим, что здесь происходит. мы сначала получаем переменную форме — это основная переменные компонента класс оформит вытаскиваем парами validate достаём оттуда наша регулярные выражения то есть в детском парке семь всю строку. Валерий вытаскиваю оттуда наш наш валидатор и поля и не теперь собственно делаем эту проверку то есть вот делаем проверка на регулярное выражение и добавляем ошибки если переменная не соответствует регулярному выражению сообщение об ошибке. Мы кладем в параметр под названием фонд regex Match. Ты сначала указываем название поля через точку указываем название валидатора со словом message. То есть если телефон не будет соответствовать этому выражению то мы получим вот такое сообщение об ошибке. Что же касается на 2 валидатора про который мы говорили, что как сделать так чтобы проверялась только наличие одного поля и его корректность для этих целей я написал validator not recover 10 не требуется если установлен какой-то другой параметр в моём случае e-mail сначала проверяется валидатором Gmail, а потом проверяется валидатором фенотрин. Квартет И на вход этого валидатора продаётся микрофон то есть мы непроверяемые Gmail если установлен параметр фон вот когда твой завтра встроенный то есть кот то достаточно простой мы вытаскиваем набор проверяемых полей установлена ли значение этого поля вытаскиваем все остальные поля формы находимся который вы указали в качестве параметров валидатора и если если. Как из этих полей не установлено то. Вон соответственно выдаст ошибку. А причём кот текст ошибки мы аналогичным образом. Передаем через параметр, а email not recovered. Меч и такой же сообщение для телефона. Таким образом мы можем контролировать корректность заполнения только одного из полей причём мы можем указать её поля в том числе.

0 комментариев
0

Читайте также