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; }

            ...
}
4

1 回答 1

1

是的,您需要采取措施启用客户端验证。这篇博客文章讨论了使用内置验证器。您将需要@{ Html.EnableClientValidation(); }Html.BeginForm调用之前,或者您可以在 Web.config 中进行。

这篇 VS Magazine 文章讨论了注册 JavaScript 函数和服务器端方法以响应 JavaScript 请求的过程。虽然它是为 MVC 3 编写的,但它应该同样适用于 MVC 4。

于 2013-07-24T16:53:45.930 回答