«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/01/21 12:15:54  №1331745 1
d5bbedb232.png (45, 1124x417)
417x1124
Возник вопрос по студентам. Каким образом лучше проверять переданные через форму данные?

Я вижу такой сценарий:

Перед тем как передать форму на сервер проверяем её жсом и если есть ошибки - выводим их, если нет данные идут в контроллер, который создает модель с переданными значениями. Если значения неправильные, у сеттеров модели выбрасываются исключения, которые мы перехватываем в контроллере. После этого завершаем приложение, пишем в лог ошибки и показываем пользователю какую-нибудь заглушку.

В правильном ли я направлении думаю?
Ответы: >>1331750 >>1331769
Аноним 2019/01/21 12:50:49  №1331769 2
>>1331745

Стандартный вопрос: урок читал? Там есть алгоритм (хотя ты можешь сделать и свой): https://github.com/codedokode/pasta/blob/master/forms.md

> Перед тем как передать форму на сервер проверяем её жсом
Хватит HTML5 валидации.

> Если значения неправильные, у сеттеров модели выбрасываются исключения

Есть такой вариант, когда в модель встроена валидация, но он имеет недостатки. Что, если для проверки уникальности email надо обратиться к БД? Где ты возьмешь объект для работы с БД в модели?

Потому выгоднее может быть сделать отдельный сервис-валидатор и в нем метод валидации:

$studentValidator = new StudetnValidator(...);
$errors = $studentValidator->validate($model);

Использование исключений не позволяет передать несколько ошибок.
Ответы: >>1331785
Аноним 2019/01/21 13:14:14  №1331785 3