【问题标题】:Asp.Net MVC validation messages overriding client side validations覆盖客户端验证的 Asp.Net MVC 验证消息
【发布时间】:2014-02-24 01:44:56
【问题描述】:

在我的 Asp.Net Mvc 应用程序中,我有一个必须这样做的场景

  1. 检查控制值是否不为空
  2. 控件中输入的值不是“搜索”

如何使用验证属性来实现这一点?

我在 modal 属性之上尝试了 [Required] 属性,并为“搜索”编写了客户端验证。但是 [required] 属性显示的错误消息覆盖了客户端验证。有什么帮助吗?

【问题讨论】:

    标签: c# asp.net-mvc validation


    【解决方案1】:
            $.validator.addMethod("ruleName", function (value, element, params) {
                var a = this.optional(element);
                var b = value != params;
                return a || b;
            }, "error");
    
            $("#x").rules("add", {
                ruleName: "search"
            });
    

    1、添加规则,编写函数进行检查
    2、添加规则输入你想要的
    检查文档http://jqueryvalidation.org/documentation/

    【讨论】:

      【解决方案2】:

      不要自己编写任何自定义验证代码,MVC 框架可以为您完成这一切。

      首先,确保在布局中包含以下内容:

      <script src="/Scripts/jquery-1.7.1.min.js"></script>
      <script src="/Scripts/jquery.validate.min.js"></script>
      <script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
      

      并检查您的 web.config 中是否设置了以下内容:

      <appSettings>
          <add key="ClientValidationEnabled" value="true"/> 
          <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
      </appSettings>
      

      你的表单应该是这样的:

      @Html.TextBoxFor(Model => Model.EditPostViewModel.Title)
      @Html.ValidationMessageFor(Model => MOdel.EditPostViewModel.Title)
      

      现在它应该自动为您工作,无需编写自定义验证。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-14
        • 2014-07-21
        • 1970-01-01
        • 1970-01-01
        • 2012-02-02
        • 1970-01-01
        相关资源
        最近更新 更多