【发布时间】:2014-02-24 01:44:56
【问题描述】:
在我的 Asp.Net Mvc 应用程序中,我有一个必须这样做的场景
- 检查控制值是否不为空
- 控件中输入的值不是“搜索”
如何使用验证属性来实现这一点?
我在 modal 属性之上尝试了 [Required] 属性,并为“搜索”编写了客户端验证。但是 [required] 属性显示的错误消息覆盖了客户端验证。有什么帮助吗?
【问题讨论】:
标签: c# asp.net-mvc validation
在我的 Asp.Net Mvc 应用程序中,我有一个必须这样做的场景
如何使用验证属性来实现这一点?
我在 modal 属性之上尝试了 [Required] 属性,并为“搜索”编写了客户端验证。但是 [required] 属性显示的错误消息覆盖了客户端验证。有什么帮助吗?
【问题讨论】:
标签: c# asp.net-mvc validation
$.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/
【讨论】:
不要自己编写任何自定义验证代码,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)
现在它应该自动为您工作,无需编写自定义验证。
【讨论】: