Asp.Net MVC:不显眼的验证和脚本依赖

Posted

技术标签:

【中文标题】Asp.Net MVC:不显眼的验证和脚本依赖【英文标题】:Asp.Net MVC: Unobtrusive validation and scripts dependencies 【发布时间】:2015-04-04 23:59:42 【问题描述】:

在asp.net MVC中验证需要以下jquery参考脚本库吗?

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

“不显眼的验证”是什么意思?

【问题讨论】:

不显眼的验证用于客户端验证,与 @html.ValidationMessageFor() 结合使用,根据验证属性呈现错误消息(如果无效,则阻止表单提交) 【参考方案1】:

jQuery.js:

嗯,这是一个明显的依赖关系。

jQuery.validate.js:

是一个库,可让您轻松验证表单,而无需自己编写实际的验证逻辑和事件处理(因为它捆绑了许多“适配器”,例如 requireddigitsmin/max 等) ,它会自动阻止表单提交并显示相应的错误信息。

例如:

$('#myForm').validate(
    rules: 
           fullname:  required: true, minlength: 5 ,
           age:  digits: true, maxlength: 2 ,
           
);

jQuery.validate.unobtrusive.js:

不显眼的验证旨在让您无需以命令式方式显式设置每个元素的验证规则,而是让您使用data-* 属性以声明方式定义规则。

之所以称为“不引人注目”,是因为它允许您编写语义 HTML,而无需为每个元素的所需规则添加“侵入性”&lt;script&gt; 标签。

例如:

<input type="text"
       name="fullname"
       data-val="true"
       data-val-required="fullname is required"
       data-val-length="minimum 5 characters"
       data-val-length-min="5" />

【讨论】:

【参考方案2】:

它们只是作为默认模板的一部分出现,如果不需要,您不需要使用它们中的任何一个。有关 jQuery 非侵入式验证的详细信息,请参阅this 线程。

【讨论】:

以上是关于Asp.Net MVC:不显眼的验证和脚本依赖的主要内容,如果未能解决你的问题,请参考以下文章

使用 Select2 ASP.NET MVC 时进行不显眼的验证

ASP.NET-MVC jQuery 不显眼的远程验证返回误报

ASP.net MVC 3 jQuery 验证;禁用不显眼的 OnKeyUp?

如何在 ASP NET MVC 中自定义不显眼的验证 JQuery 消息?

数据注释在部分 ASP.NET MVC 中不起作用 jquery 不显眼的验证

如何在 ASP.NET MVC 3 中自定义不显眼的验证以匹配我的风格?