Поставьте в представлении проверки (да, представление) для быстрого реагирования на ошибки пользователя.
Установите проверки в контроллере для обеспечения целостности данных.
Например, в веб-приложении у вас может быть браузер javascript для проверки всех полей, включая имя пользователя, чтобы пользователь получал быстрый ответ для исправления ошибочных транзакций. Однако, вернувшись на свой сервер, вы не можете полагаться на то, что браузер действительно проверяет данные, поскольку браузер находится вне вашего контроля - они могут быть повреждены, умышленно или случайно, и не выполнять проверку, как вы предполагали. Таким образом, вам необходимо повторно подтвердить все на вашем сервере, чтобы обеспечить целостность.