什么是jQuery Unobtrusivevalidation?
我知道jQueryvalidation插件是什么。 我知道jQuery Unobtrusive Validation库是由Microsoft制作的,并包含在ASP.NET MVC框架中。 但是我找不到一个解释它是什么的在线资源。 标准jQueryvalidation库和“不显眼”版本有什么区别?
Brad Wilson有几篇关于不显眼的validation和不显眼的ajax的文章 。
在“AJAX和JavaScript”一节中,它在这个Pluralsightvideo中也显示得非常好。
基本上,它只是简单的Javascriptvalidation,不污染你的源代码与自己的validation码。 这是通过使用HTML中的data-
属性来完成的。
用不显眼的方式:
- 你不必调用validate()方法。
- 您可以使用数据属性(data-val,data-val-required等)指定需求
jqueryvalidation示例 :
<input type="text" name="email" class="required"> <script> $(function () { $("form").validate(); }); </script>
Jqueryvalidation不显眼的例子 :
<input type="text" name="email" data-val="true" data-val-required="This field is required."> <div class="validation-summary-valid" data-valmsg-summary="true"> <ul><li style="display:none"></li></ul> </div>
澄清,这里是一个更详细的例子演示使用jQuery Validation Unobtrusive表单validation。
两者都使用jQuery的以下JavaScript:
$("#commentForm").validate({ submitHandler: function(form) { // some other code // maybe disabling submit button // then: alert("This is a valid form!"); // form.submit(); } });
两个插件之间的主要区别是每种方法使用的属性。
jQueryvalidation
只需使用以下属性:
- 必要时设置
- 设置适当的格式(电子邮件等)
- 设置其他属性,如大小(最小长度等)
这是表格…
<form id="commentForm"> <label for="form-name">Name (required, at least 2 characters)</label> <input id="form-name" type="text" name="form-name" class="form-control" minlength="2" required> <input type="submit" value="Submit"> </form>
jQueryvalidation不显眼
以下数据属性是必需的:
- data-msg-required =“这是必需的。”
- 数据规则需要=“真/假”
这是表格…
<form id="commentForm"> <label for="form-x-name">Name (required, at least 2 characters)</label> <input id="form-x-name" type="text" name="name" minlength="2" class="form-control" data-msg-required="Name is required." data-rule-required="true"> <input type="submit" value="Submit"> </form>
基于这些例子中的任何一个,如果所需的表单字段已被填充,并且满足附加的属性标准,则会popup消息通知所有表单字段被validation。 否则,会在违规表单字段附近显示错误的文本。
参考: – jQueryvalidation: https : //jqueryvalidation.org/documentation/
jQueryvalidationUnobtrusive Native是ASP.Net MVC HTML助手扩展的集合。 这些使用jQueryvalidation的原生支持由HTML 5数据属性驱动的validation。 Microsoft将jquery.validate.unobtrusive.js发回MVC 3.它提供了一种使用jQuery Validation和HTML 5数据属性(即“不显眼”部分)将数据模型validation应用于客户端的方法。