Убедитесь, что вы ссылаетесь на правильные сценарии в заголовке главной страницы.
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>" type="text/javascript"></script>
также посмотрите на ваше мнение, чтобы убедиться, что вызов проверки клиента выше вашей формы
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
...
<% } %>
и, конечно, ваше сообщение для подтверждения проблемы.
<span class="editor-label"><%= Html.ValidationMessageFor(u => u.Name)%></span>
Это действительно все, что тебе нужно. Я считаю, что обязательный атрибут начнет свою проверку только в том случае, если вы введете текст в поле, а затем удалите текст и вкладку из поля, поэтому попробуйте это, чтобы убедиться, что вы получили подтверждение. Другие будут проверять, когда атрибут должен. Например, [StringLength(50)]
будет отображать сообщение об ошибке, если вы превысите 50 символов.