Моя собственная мысль состоит в том, что для повышения эффективности следует делать как можно больше в представлении, , пока нет никаких последствий для данных.
Другими словами, представление может проверять наличие недостающего почтового индекса или нечислового почтового индекса (если вы уверены, что модель данных никогда не допустит нечисловые значения).
Но, во-вторых, вы решаете проверить данные (например, «Является ли почтовый индекс действительным для континентальной части США?»), Которые следует отнести к самой модели данных.
Я видел ситуации, когда представление создается с помощью серии регулярных выражений для предварительной проверки (по одному на поле), чтобы не излишне обременять другие слои. Это означает, что введенные данные проходят, по крайней мере, первый уровень проверок работоспособности, а затем возвращаются для более полной проверки.
И, кроме того, никогда не используйте термин «проверка работоспособности» в пользовательской документации, когда ссылаетесь на проверку того, что пользователь ввел. Вы можете подумать, что это невинная фраза, но пользователь не всегда так думает: -)