Вывод ошибки в AjaxForm
Друзья, проверяю форму на заполненность одного поля из двух. Вот вызов сниппета:
{'!AjaxForm' | snippet : [
'snippet'=>'FormIt'
'hooks'=>'spam,email'
'emailFrom'=>'noreply@test.loc'
'form'=>'tpl.callBack'
'emailTpl'=>'tpl.callBackMail'
'emailTo'=>'inbox@mail.local'
'emailSubject'=>'Обратная связь с сайта'
'validate'=>'name:required,phone:oneOfTwoFields,email:email:oneOfTwoFields,link:blank'
'customValidators' => 'oneOfTwoFields'
'validationErrorMessage'=>'Пожалуйста, заполните необходимые поля.'
'successMessage'=>'Ваше обращение отправлено. Мы свяжемся с вами!'
]}А вот сниппет кастомного валидатора:<?php
$success = true;
$phone = trim($_POST['phone']);
$email = trim($_POST['email']);
if (empty($phone) && empty($email)) {
$success = false;
$validator->addError($key, 'Заполните поле Телефон или Email.');
}
return $success;Валидация работает, но не могу понять как выводить во всплывающем окне эту ошибку (когда не заполнены оба поля)? Всегда выводится 'Пожалуйста, заполните необходимые поля.'
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 1
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Правильнее будет писать:
Из $_POST тащить не совсем логически верно.
А по вопросу, см. последний абзац «Custom Error Messages» документации:
docs.modx.com/current/en/extras/formit/formit.validators