By_Engine
@By_Engine

Как получать пользовательские ошибки?

Здравствуйте.
Пишу проект без фреймворков. Подскажите пожалуйста как возможно реализовать пользовательские ошибки при заполнении формы. Сам строим много реализаций, но не уверен, что они верные. Копаться во фреймворках нет ни времени ни желания.
В случае ошибки необходимо сделать редирект обратно на страницу с формой и отобразить ошибки
Имеется классическая реализация MVC. К примеру пользователь ввел данные в форму и она прилетела в контроллер, который вызывает модель для обработки этих данных.

Псевдокод. Сейчас вывод ошибок производится примерно так:
Модель тоже может бросать ошибки
public function actionName(){
  // Здесь нужно проверить какие данные пришли
  if(isset($_POST['field1'], $_POST['field2'])){
    if(strlen($_POST['field1']) > 5){
      // Вызов модели
    }else{
     $_SESSION['error'][] = 'Длина поля "field1" должна быть больше 5 символов';
     // Редирект
    }
  }else{
     $_SESSION['error'][] = 'Заполните все поля';
     // Редирект
  }
}


Вывод в шаблоне
if(isset($_SESSION['error'])){
  foreach($_SESSION['error'] as $text){
    echo $text;
  }

  unset($_SESSION['error']);
}
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Возвращайте ошибку сразу, не нужно использовать сессии для этого, более того не нужно продолжать выполнение.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы