Лапшекодим валидацию, или запрещаем вводить неправильные данные?
И где вы показываете все эти error messages, которыми там обильно удобрили все ваши данные? В тултипе? А зачем? Человек должен навести на подсвеченное неправильным поле, дождаться тултипа, прочитать портянку... А если сразу не давать вводить неправильные данные?
[StringLength(50, ErrorMessage = "No more than 50 characters")]
[Display(Name = "Name")]
Зачем вот это "50" и сообщение об ошибке, если можно просто заблочить текстбокс от ввода строк длиннее 50 символов?
Ну и в реальности применение этого атрибута будет выглядеть не так аккуратно, как здесь, а будет обвешано ещё всякими указаниями на ресурсы и ключами в этих словарях. Мы же не на один штатовский рынок работаем, когда все строки можно захардкодить и наплевать на всё остальное, и не аккуратную рекламную писульку делаем, как у него на заглавной странице проекта, а нечто реальное разрабатываем?