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

Asp.Net MVC: Unobtrusive validation and scripts dependencies

在 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>

'unobtrusive validation'是什么意思?

它们只是默认模板的一部分,如果不需要,您不需要使用它们中的任何一个。有关 jQuery 无干扰验证的详细信息,请参阅 this 主题。

jQuery.js:

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

jQuery.validate.js:

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

例如:

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

jQuery.validate.unobtrusive.js:

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

之所以称为 'unobtrusive',是因为它允许您编写语义 HTML,而无需为每个元素的所需规则添加 'intrusive' <script> 标记。

例如:

<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" />