в модель они поставляют правильные данные
Если вот так разделять, что валидация формы не лезет в базу, то это уневозможит очень нужный кейс - показать пользователю как можно много ошибок для исправления.
Показать можно что угодно, если с точки зрения UI уместно сделать предварительную проверку - ну пусть она делается. В реалиях 2018 года такие проверки делаются еще в ходе заполнения формы Javascript-ом, так что тут вообще будет отдельный api-метод. Даже если и не так, необходимость обработки исключения это все равно не отменяет.у тебя в голове yii
"Поставляет в модель данные" - это вообще жесть. Как только ты начнешь относиться к модели не как к аналогу структуры в Си/Паскале, а к полноценному объекту с инкапсуляцией и реализацией бизнес-логики, многие вещи станут выглядеть иначе, и многие фичи rails-подобных фреймворков типа yii/laravel окажутся бесполезными, или, как минимум, требующими пересмотра способа их использования.
Еще, хотя это уже несколько не по теме, отмечу, что интерфейсы вида "большая форма, напрямую соответствующая полям в базе данных", как правило, не самые удобные и понятные. Они исторически сложились 15 лет назад, когда Javascript был примитивен, не было никаких XMLHttpRequest, и типичным способом доступа в интернет был модемный диалап. В десктопных приложениях мы и в те времена гораздо чаще видели интерфейс, основанный на командах, чем на формах, на десктопе термин MVC понимался куда более однозначно, а в вебе исказился до такой неузнаваемости, что вообще потерял смысл. Так что, анемичные модели - это во многом тяжелое наследие ограничений раннего веба.
Последнее редактирование: