Форум русской поддержки Joomla!® CMS
03.12.2016, 21:46:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Валидации формы, custom handler

 (Прочитано 394 раз)
0 Пользователей и 1 Гость смотрят эту тему.
shkiv
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« : 02.05.2015, 23:02:07 »

Joomla!, 3.4.1.
пилю компонент для внутренних нужд.
проблема с валидацией формы.
валидатор родной, джумловский, через JHTML::_('behavior.formvalidator');
пробовал через JHTML::_('behavior.formvalidation');, как в 3.3.6 -
со стандартными функциями все ок. required и validate-email работают.
кастомный хэндлер - нет. при этом, поле помечается, как ошибочное, добавляется класс invalid и свойство aria-invalid="true"
но форма все равно отправляется.

Код:
<?php
...
$doc->addScriptDeclaration("
jQuery(document).ready(function(){
   document.formvalidator.setHandler('phonenum', function(value) {
      var rgx = new RegExp('^((8|\\\\+7)[\\\\- ]?)?(\\\\(?\\\\d{3}\\\\)?[\\\\- ]?)?[\\\\d\\\\- ]{7,10}$');
      return rgx.test(value);
    });

});
");
?>
    <form name="order" id="order" action=" ... " method="post" enctype="multipart/form-data" class="form-validate">
...
        <label for="phone">Телефон ответственного сотрудника<span>*</span></label><input type="text" id="phone" name="data[phone]" class="required validate-phonenum" /><br>
...
        <button type="submit" class="validate button" />Отправить</button>
    </form>

что я делаю не так?
под спойлером полный код tmpl
Показать текстовый блок
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #1 : 02.05.2015, 23:32:58 »

очень сильно смущает регулярка для валидации, вы уверенны в ней?
Записан
shkiv
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #2 : 02.05.2015, 23:51:06 »

я не то что бы уверен в ней на 100%, но очень сомневаюсь, что дело в ней:
когда я ввожу в это поле те символы которых там быть не должно - класс invalid добавляется в инпут и лабел и свойство aria-invalid="true" в инпут (смотрю фаербагом).
бутстрап подсвечивает мне все это красным, но форма все равно уходит.
на всякий случай попробовал другую регулярку, которая работала в 3.3.6 в другом месте, и перестала сейчас - то же самое.
похоже, что-то поменялось в 3.4, кроме окончания вызова валидатора =/
Записан
shkiv
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #3 : 03.05.2015, 01:11:43 »

штатный validate-numeric то же не работает.

помогла полная замены содержимого папки /media/system/js/
на то же самое из версии 3.6.6.
что-то поменялось с версией. или баг.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet