Asp.Net MVC验证消息覆盖客户端验证

时间:2014-02-24 01:44:57

标签: c# asp.net-mvc validation

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

  1. 检查控件值是否为空
  2. 在控件中输入的值不是“搜索”
  3. 如何通过验证属性实现此目的?

    我在modal属性上尝试了[Required]属性,并为“search”编写了客户端验证。但[required]属性显示的错误消息覆盖了客户端验证。任何帮助?

2 个答案:

答案 0 :(得分:2)

        $.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/

答案 1 :(得分:1)

不要自己编写任何自定义验证代码,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)

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