用户选择字段时显示验证消息

时间:2013-07-24 16:49:51

标签: c# asp.net-mvc forms validation

我有一个简单的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; }

            ...
}

1 个答案:

答案 0 :(得分:1)

是的,您需要采取措施来启用客户端验证。 This blog post讨论使用内置验证器。在@{ Html.EnableClientValidation(); }调用之前,您需要Html.BeginForm,或者您可以在Web.config中执行此操作。

This VS Magazine article讨论了注册JavaScript函数和服务器端方法来回答JavaScript请求的过程。虽然它是为MVC 3编写的,但它同样适用于MVC 4。