Где проверка формы должна произойти в проекте MVC?

Если на и родителя и ребенка не ссылаются, но они только ссылка друг друга, они действительно получают GCed.

Заставляют профилировщика памяти действительно проверять Ваше приложение и отвечать на все Ваши вопросы. Я могу рекомендовать http://memprofiler.com/

8
задан Darryl Hein 20 August 2010 в 17:36
поделиться

6 ответов

Честно говоря, я не вижу ничего плохого в вашем методе, Алекс. Похоже, ты делаешь это правильно. Вы следуете принципу DRY, который для меня обычно является критерием оценки правильности моих действий в отношении MVC.

4
ответ дан 5 December 2019 в 14:04
поделиться

Толстые модели. Маленькие контроллеры. Я всегда так поступал. Для меня проверка находится на уровне данных. Уровень данных (по крайней мере, для меня) - это модель. Обычно я использую CakePHP в качестве моей инфраструктуры MVC ... Может быть, поэтому моя проверка проводится на модели. Это способ CakePHP.

2
ответ дан 5 December 2019 в 14:04
поделиться

Я предпочитаю не повторяться, а не чувства, применяю метод. Кроме того, массив удобен тем, что вы можете отображать ошибки из массива в виде, если хотите. Я не использовал кохану, но метод проверки, который я использовал в ASP.NET MVC, предоставляет мне аналогичный список, и я могу затем показать пользователю, что именно не так.

0
ответ дан 5 December 2019 в 14:04
поделиться

Вы всегда должны (если можете) выполнять проверку на клиенте (JS). И поскольку это можно обойти - вы также проверяете на сервере. И да, оформление валидации в многократно используемой форме - отличная идея

0
ответ дан 5 December 2019 в 14:04
поделиться

Я также провожу проверку в модели. Большинство библиотек моделирования, таких как ORM, Auto_Modeler и т. Д., Также поддерживают валидацию. Кстати, это быстрее, если вы спросите на канале #kohana на FreeNode (irc.freenode.net). Мы (обычно) не кусаемся :)

0
ответ дан 5 December 2019 в 14:04
поделиться

Я не думаю, что все правила валидации могут входить в модель. Проверка - это форма (или API). Дело в том, что когда вы проверяете свои данные, большинство вещей зависит от контекста .

Например, выполняет ли данное действие вошедший в систему пользователь? Вы бы не связали свой уровень аутентификации с проверяемой моделью. Итак, все проверки должны проходить внутри контроллера. Модель не зависит от контекста; форма «принадлежит» контроллеру и зависит от контекста.

Я думаю, что наличие правил проверки правил плюс базовых проверок в модели на предмет корректности сформированные данные - это лучший способ. Если вы вызываете Auth :: instance () или Session :: instance () внутри функции validate () вашей модели, значит, вы делаете это неправильно.

6
ответ дан 5 December 2019 в 14:04
поделиться
Другие вопросы по тегам:

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