jquery.validata1.11怎么支持metadata

Posted 泶雪乖女

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery.validata1.11怎么支持metadata相关的知识,希望对你有一定的参考价值。

使用metadata方式
这个需要使用jquery.metadata.js插件才可工作,通过在表单项中定义特殊的属性来指定验证规则

但是最新的jquery.validate 1.11没有内置metadata的支持,需要修改一下代码:

搜索jquery.validate.js文件中的$.validator.classRules(element),并在其前加入以下行:

$.validator.metadataRules(element),
 

再搜索 staticRules:, 在其前面加入以下代码,增加metadata的支持:

metadataRules: function(element) {

  if (!$.metadata) return {};

  var meta = $.data(element.form, "validator").settings.meta;

  return meta ?

  $(element).metadata()[meta] :

  $(element).metadata();

},

到这里,就改造完成了,要使用metadata,页面中使用以下方式(省略了其它代码):

<script src=”lib/jquery.js” type=”text/javascript”></script>
 
<script src=”lib/jquery.metadata.js” type=”text/javascript”></script>

<script src=”lib/jquery.validate.js” type=”text/javascript”></script>

<form>
    <input name=”user” class=”{required:true,minlength:3}” />
</form>

但是默认的class是用来定义css样式类名的,在这里作为作为验证规则使用,会造给样式维护带来太多不便的, 有两种方式解决这个问题:

A. 直接修改 jquery.metadata.js,  type修改为attr, name修改为validate,表示从表单项的validate属性取得验证规则

B. 在页头中调用 $.metadata.setType(‘attr’,‘validate’), 表示从表单项的validate属性取得验证规则

以上是关于jquery.validata1.11怎么支持metadata的主要内容,如果未能解决你的问题,请参考以下文章

sap 资材处怎么用

浏览器不支持html5怎么解决

手机作为蓝牙耳机

使用 Intellij 和 Java ME 的语言级别 '1.4 不支持泛型

悦me网关忘记密码怎么办?

怎么在SQL里逐行修改数据