Asp.net mvc Asp.NETMVC:不引人注目的验证和脚本依赖

Asp.net mvc Asp.NETMVC:不引人注目的验证和脚本依赖,asp.net-mvc,validation,unobtrusive-validation,Asp.net Mvc,Validation,Unobtrusive Validation,在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>

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


“不引人注目的验证”的含义是什么?

它们只是默认模板的一部分,如果不需要,您不需要使用它们中的任何一个。有关jQuery非结构化验证的详细信息,请参阅线程。

jQuery.js: 这是一个明显的依赖关系

jQuery.validate.js: 是一个库,您无需自己编写实际的验证逻辑和事件处理即可轻松验证表单(因为它与许多“适配器”捆绑在一起,如
必需的
数字
最小/最大值
等),它将自动阻止表单提交,并显示相应的错误消息

例如:

$('#myForm').validate({
    rules: {
           fullname: { required: true, minlength: 5 },
           age: { digits: true, maxlength: 2 },
           }
});
<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" />
jQuery.validate.unobtrusive.js: 不引人注目的验证旨在避免您以命令式的方式显式设置每个元素的验证规则,而是让您使用
data-*
属性以声明式的方式定义规则

它被称为“不引人注目”,因为它允许您编写语义HTML,而无需为每个元素所需的规则添加“侵入性”标记

例如:

$('#myForm').validate({
    rules: {
           fullname: { required: true, minlength: 5 },
           age: { digits: true, maxlength: 2 },
           }
});
<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" />

不引人注目的验证用于客户端验证,与
@Html.ValidationMessageFor()
结合使用,以根据验证属性呈现错误消息(并防止表单在无效时提交)