Если из одного просмотра пользователь вводит некоторые недействительные данные, например ::
E-mail: bill@apple.com
тогда я хочу, чтобы контроллер:
- не поместить данные в модель
- цвет текстового поля красноватый
- не позволяет пользователю сохранять
Но возможно, что если пользователь вводит те же недопустимые данные в другое представление, я хочу, чтобы контроллер:
- поместить данные в модель
- цвет текстового поля красноватый
- позволяет пользователю сохранять
Но возможно, что если пользователь вводит те же недопустимые данные в другое представление, я хочу, чтобы контроллер:
- поместить данные в модель
- Цвет текстового поля Голубоватый
- позволяет пользователю сохранять
И возможно, что другой вид будет:
- поместить данные в модель
- оставить текстовое поле неокрашенным
- позволяют пользователю сохранять
И возможно, что другой вид будет:
- автокоррекция данных, размещение их в модели
- цвет надписи красноватый
- позволяют пользователю иметь
И для другого вида возможно:
- автокоррекция данных, размещение их в модели
- обновление представление с новыми данными
- цвет текстовое поле голубоватое
- разрешить пользователю сохранять
[до бесконечности]
Без использования n-контроллеров для n-представлений, как мне это сделать?
Обновление
Я собирался задать новый вопрос по stackoverflow: «Как заставить контроллер изменять свое поведение в зависимости от представления?» Но потом я понял, что у меня уже используется точно такой же заголовок вопроса.
Сегодняшний пример:
Если введенные данные слишком длинные для некоторых частей некоторых таблиц базы данных, в которые они будут входить, выполните проверку и отклоните сохранение.
, если данные не поступают из другого представления. В этом случае автоматически обрезать определенные поля, чтобы соответствовать правилам базы данных
, если данные не поступают из другого представления. В этом случае требуется, чтобы база данных выдавала truncated
исключение
Так много практических проблем с MVC, которые я никогда не видел, решены в книгах / статьях / блогах, которые я прочитал - неудивительно, что я не использую их.