@muxalich
PHP, ZEND, JS, PJAX, JQ, JQ UI, MySQL

Как лучше сделать уведомление о некорректной работе?

Здравствуйте, подскажите как лучше реализовать уведомление о неверно введенных данных. Ошибка авторизации и так далее. Exception - вроде подходит, но все советуют использовать его в крайних случаях вроде ошибки подключения к БД. А каждый раз выдовать переменную ERROR_USER_AUTH и прокидывать ее по стеку функций, мне кажется не верным.
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
27cm
@27cm
TODO: Написать статус
Для вывода сообщений об ошибках валидации есть помощник представления formElementErrors.

Достаточно добавить нужные валидаторы для формы, но можно конечно и явно задавать сообщение об ошибке с помощью метода setMessages() элемента формы:
if ($form->isValid()) {
    $data = $form->getData($form::VALUES_AS_ARRAY);

    $authService = $this->getServiceLocator()->get('AuthenticationService');
    $authService->getAdapter()->setIdentity($data['identity'])->setCredential($data['password']);
    $result = $authService->authenticate();

    if (!$result->isValid()) {
        switch ($result->getCode()) {
            case $result::FAILURE_IDENTITY_NOT_FOUND :
                $form->get('identity')->setMessages(['Неверный логин']);
            break;
            case $result::FAILURE_CREDENTIAL_INVALID :
                $form->get('password')->setMessages(['Неверный пароль']);
            break;
            default :
                $form->get('identity')->setMessages(['Ошибка авторизации']);
            break;
        }
    }
}
Ответ написан
Комментировать
sivabur
@sivabur
Заблокировали просто так!
Всплывающей небольшое окно которое через время само пропадает!
Выводить только то что как то может помочь пользователю!
Все остальная инфа выводится не должна и служит только для отладки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы