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屬性取得驗證規則

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章