【问题标题】:Show the validation message when user selects a field用户选择字段时显示验证消息
【发布时间】:2013-07-24 16:49:51
【问题描述】:

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

            ...
}

【问题讨论】:

  • 您可以编写一些 javascript 来触发对字段选择事件的不显眼的验证。还有很多关于如何做到这一点的其他问题/文章。

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


【解决方案1】:

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

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

【讨论】:

  • 感谢您的帮助,但是当我尝试访问您的 VS 杂志文章时,我得到一个 404 错误页面。你有使用 ajax 的代码示例吗?
  • 如果您需要更具体的示例,Google 搜索会提供许多有希望的链接,例如 MVC3 Custom Client Side Validation with Unobtrusive Ajax
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 2020-11-16
  • 2013-05-30
  • 1970-01-01
  • 2019-11-28
  • 2015-08-04
相关资源
最近更新 更多