Добавляем валидатор для проверки соответствия введенного номера телефона регулярному выражению.
Валидатор (сниппет phoneValidate
):
<?php
$success = preg_match('#^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$#', $value);
if($success === 1) {
return true;
} else {
$validator->addError($key, 'Введите правильный номер телефона!');
return false;
}
?>
Поле с регуляркой:
<input name="phone" type="text" placeholder="+7 999 000-00-00" pattern="^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$" value="[[!+fi.phone]]" required>
Регулярка взята с Хабра
Для использования валидатора добавьте в вызов FormIt
параметр customValidators=`phoneValidate`
и добавьте проверку :phoneValidate
[[!FormIt?
&hooks=`email`
&customValidators=`phoneValidate`
&validate=`phone:required:phoneValidate`
// необходимые вам параметры
]]