2013-07-24 3 views
1

У меня есть простая форма ASP.NET MVC, все работает нормально, единственное, что я хочу: автоматически отображает сообщение проверки при выборе поля. Но чтобы показать подтверждение сообщения, мне нужно отправить форму. Нужно ли использовать ajax? Спасибо за вашу помощь.Показывать сообщение о проверке, когда пользователь выбирает поле

Вот моя форма:

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "TestForm" })) 
    { 
      <div> 
      @Html.LabelFor(m => m.FirstName) 
      </div> 

      <div> 
      @Html.TextBoxFor(m => m.FirstName, new { id = "FirstName" }) 
      @Html.ValidationMessageFor(m => m.FirstName) 
      </div> 
      <div> 
       @Html.LabelFor(m => m.LastName) 
      </div> 

      <div> 
      @Html.TextBoxFor(m => m.LastName, new { id = "LastName" }) 
      @Html.ValidationMessageFor(m => m.LastName) 
      </div> 

      ... 

} 

Модель

public class TestModel 
     { 
      [Required(ErrorMessage = "FirstName should blabla")] 
      [StringLength(4, ErrorMessage = "You must...", MinimumLength = 1)] 
      [DataType(DataType.Text)] 
      [Display(Name = "FirstName")] 
      public string FirstName { get; set; } 

      [Required(ErrorMessage = "LastName should blabla")] 
      [StringLength(4, ErrorMessage = "You must...", MinimumLength = 1)] 
      [DataType(DataType.Text)] 
      [Display(Name = "LastName")] 
      public string LastName { get; set; } 

      ... 
} 
+2

Вы можете написать немного javascript, чтобы вызвать ненавязчивую проверку на случай выбора поля. Есть много других вопросов/статей о том, как вы можете это сделать. – Dmitry

ответ

1

Да, вы должны принять меры для включения проверки на стороне клиента. This blog post рассказывает об использовании встроенных валидаторов. Вам понадобится @{ Html.EnableClientValidation(); } перед вызовом Html.BeginForm, или вы можете сделать это в Web.config.

This VS Magazine article обсуждает процесс регистрации функции JavaScript и метода на стороне сервера для ответа на запрос JavaScript. Хотя он был написан для MVC 3, он должен хорошо применяться к MVC 4.

+0

благодарит за помощь, но когда я пытаюсь получить доступ к вашей статье журнала VS, я получаю страницу ошибок 404. У вас есть пример кода с помощью ajax? – user2037696

+0

Поиск в Google обеспечил ряд перспективных ссылок, если вам нужны более конкретные примеры, такие как [MVC3 Custom Client Side Validation with Unobtrusive Ajax] (http://www.falconwebtech.com/post/2012/04/21/MVC3- заказ Клиентский-Validation-с ненавязчивым-Ajax.aspx) – neontapir

Смежные вопросы