修改 jquery.validate.js 支持非form标签
生活随笔
收集整理的這篇文章主要介紹了
修改 jquery.validate.js 支持非form标签
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
嘗試使用markdown來(lái)寫(xiě)一篇blog,啦啦啦
源代碼傳送門(mén):github
在特殊情況下我們使用jquery.validate.js對(duì)用戶(hù)輸入的內(nèi)容做驗(yàn)證的時(shí)候,表單并不是一定包含在form之中,有可能是一個(gè)div彈層,有可能是嵌套在form里面的一個(gè)div,這個(gè)時(shí)候官方的validate就不能很好的支持了。對(duì)此,在官方的源代碼基礎(chǔ)上做小小的改動(dòng),就能兼容原有form方式,也能使用于非form方式,何樂(lè)而不為呢。
分析官方代碼之后,能得知它都是通過(guò)element.form找到當(dāng)前input的form,在從form標(biāo)簽獲取validate對(duì)象。那只要我們修改為我們指定的容器標(biāo)簽即可。
修改代碼如下:
1.增加一個(gè)獲取容器的方法
2.替換所有使用element.form為$.validator.getContainer(element)
demo:
<div id="x" class="validateContainer"><input data-rule-required="true" data-rule-number="true" data-rule-digits="true" acc="x" Acc2="xx" AcAc="3" acAc="4" name="xx" /><input type="submit" value="submit" /> </div> <script src="jquery-3.1.0.js"></script> <script src="jquery.validate.js"></script> <script>$("#x").validate(); </script>當(dāng)然,兼容性等尚未進(jìn)行測(cè)試,經(jīng)供參考
ps:話(huà)說(shuō)markdown還是蠻好用的
總結(jié)
以上是生活随笔為你收集整理的修改 jquery.validate.js 支持非form标签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【数据结构与算法】【算法思想】贪心算法
- 下一篇: 发现很多人的基础都不好