Я использую DataAnnotations для проверки полей ввода в приложении MVC3.Я использую проверки регулярных выражений.Я получаю сообщения проверки в пользовательском интерфейсе для IE8 и IE9.Но я замечаю разницу, когда нажимаю кнопку Сохранить даже после сбоя проверки на стороне клиента.IE9 держит меня на стороне клиента.На IE8, однако, управление переходит к действию контроллера, и я должен иметь сторону контроллера TryValidateModel, чтобы ошибки валидации вышли.
Кто-нибудь знает, почему IE8 выполняет обход сервера?
Редактировать: Добавление кода.Это входит в cshtml.
@using (Html.BeginForm("Person", "Account", FormMethod.Post))
{
<span class="resultError" id="resultError">
@Html.ValidationMessageFor(model => model.Name, "Name should not contain special characters")
</span>
<table>
<tr>
<td class="editor-label">Name:
</td>
<td class="editor-field">@Html.EditorFor(model => model.Name)
</td>
</tr>
</table>
<input type="submit" name="btnKey" value="Save" />
}
Это частичный класс, использующий DataAnnotation.Класс Person управляется EF.Поэтому я должен создать класс метаданных для проверки.
[MetadataType(typeof(personMetadata))]
public partial class person: EntityObject
{
public class personMetadata
{
[Required]
[RegularExpression(@"[A-Za-z0-9]+")]
public object Name { get; set; }
}
}
Редактировать: добавление файлов JavaScript, на которые имеются ссылки."~ / Scripts / jquery.validate.min.js" "~ / Scripts / jquery.validate.unobtrusive.min.js"