Компонент работы с ошибками
За работу с ошибками отвечает компонент Errors
, получить объект которого можно посредством вызова
метода приложения bff::errors()
.
В рамках модуля/дополнения он доступен посредством $this->errors->
Установка ошибок
Установить ошибки в процессе обработки запроса можно путем вызова соответствующего метода:
$this->errors->set('Текст ошибки');
Предусмотрен ряд стандартных ошибок:
// Невозможно выполнить операцию
$this->errors->impossible();
// В доступе отказано
$this->errors->accessDenied();
// Обновите страницу и повторите попытку
$this->errors->reloadPage();
Проверить на наличие установленных ранее ошибок можно вот таким образом:
$this->errors->no(); // метод вернет true если ошибок нет
Ошибки 404
Вернуть подобную ошибку можно путем вызова следующего метода
$this->errors->error404();
Выполнение приложения в этом случае полностью прерывается на данной строке и ответ возвращается пользователю. Также можно вернуть другие HTTP ошибки:
$this->errors->errorHttp(403); // Доступ к указанной странице запрещен
В случае ответа на AJAX запрос установленная ошибка будет передана в тексте ответа, например при такой ситуации:
$this->errors->set(_t('users', 'Пароль был указан некорректно'));
$this->ajaxResponse(['retry'=>true]);
В качестве ответа будет отправлено следующее JSON сообщение:
{
"data": {
"retry": true
},
"errors": [
"Пароль был указан некорректно"
]
}