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

275
28 ноября 2017, 21:36

На сайте используется yii2, В форме для валидации номера телефона подключён плагин jquery.maskedinput.min.js.
Подключение к полю ввода примерно такое:

$("#order-delivery_phone").mask("+380(999) 999-9999");

Само моле выводится так:

<?=$form->field($model, 'delivery_phone')->label(false)->error(false)->input('tel', ['class' => 'orderForm-sidebar__input', 'placeholder' => Yii::t('web', 'Телефон').'*', 'required' => ''])?>

но проблема в том, что после ввода номера, и когда курсор отводится с этого поля, т.е. когда происходит событие blur с данного поля ввода, то к данному полю добавляется класс has-error, и поле подсвечивается красным, т.е. скорее всего встроенному валидатору не нравится приставка +380.
А если сделать такую маску:

$("#order-delivery_phone").mask("(999) 999-9999");

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

Answer 1

Пример на CodeOpen. Работает с такой маской $("#phone").mask("+380 (999) 999-9999");

READ ALSO
Плановное sticky menu

Плановное sticky menu

Подскажите, есть вот такой скриптНа высоте 700px от верха, меню становиться sticky

234
Кодировка JS в IE11

Кодировка JS в IE11

Есть XHTML-страница с XML декларацией

357
Вывод с запроса ajax

Вывод с запроса ajax

Есть ajax запрос на сервер, приходит json

291