Не получается вывести ошибку в хуке ajaxform, как исправить?
Допустим есть код в хуке ajaxform, который по какому-то при знаку должен вернуть ошибку и дальше не будет обрабатываться, а сам снипет в вызове такой же формит, согласно докам это можно сделать так
return $AjaxForm->error('Ошибка отправки слишком большой текст');
но когда я ставлю в свой хук, то вообще не реагирует на это.{'!AjaxForm' | snippet : [
'form' => 'modal-form-reviews',
'snippet' => 'FormIt',
'hooks' => 'rcv3,customReviews,email',
'emailSubject' => 'Отзыв с сайта {$_modx->config.site_name}',
'emailTpl' => 'modalFormEmail',
'validate' => 'first__name:required,rating:required,message:required,g-recaptcha-response:required',
]}
Хук$review = $hook->getValue('message');
if(strlen($review) > 1000){
return $AjaxForm->error('Ошибка отправки отзыва. Слишком большой текст');
}
Комментарии: 4
Пытался в валидаторе
'customValidators' => 'reviewValidator'
Не получается вообще не реагируетif(array_key_exists('message', $validator->fields)) {
$message = $validator->fields['message'];
if(strlen($message) > 1000){
$validator->addError($key,'Слишком много текста');
}
} else {
$validator->addError($key,'Поле не заполнено');
}
А ты делаешь return?
да ставил return false; после $validator->addError
Решить проблему эту не решил, но можно обойти
'validate' => 'first__name:required:minLength=^5^:maxLength=^60^,rating:required,message:required:minLength=^10^:maxLength=^1000^,g-recaptcha-response:required'
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.