zoukankan      html  css  js  c++  java
  • 修改 jquery.validate.js 支持非form标签

    尝试使用markdown来写一篇blog,啦啦啦

    源代码传送门:github

    在特殊情况下我们使用jquery.validate.js对用户输入的内容做验证的时候,表单并不是一定包含在form之中,有可能是一个div弹层,有可能是嵌套在form里面的一个div,这个时候官方的validate就不能很好的支持了。对此,在官方的源代码基础上做小小的改动,就能兼容原有form方式,也能使用于非form方式,何乐而不为呢。

    分析官方代码之后,能得知它都是通过element.form找到当前input的form,在从form标签获取validate对象。那只要我们修改为我们指定的容器标签即可。
    修改代码如下:
    1.增加一个获取容器的方法

    getContainer: function (element) {
        var container = $(element).closest('.validateContainer')[0];
        container = container || element.form;
        return container;
        }
    

    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>
    

    当然,兼容性等尚未进行测试,经供参考
    ps:话说markdown还是蛮好用的

  • 相关阅读:
    经典业务: 删除最老的文件
    The LIVE555TM HLS Proxy
    OpenGL
    OpenCV
    STUN, TURN, and ICE
    【AI学习总结】均方误差(Mean Square Error,MSE)与交叉熵(Cross Entropy,CE)损失函数
    SpringCloud中一些基本配置
    Redmibook笔记本触摸板失灵
    对称加密
    Java数字签名工具类
  • 原文地址:https://www.cnblogs.com/calvinK/p/5916294.html
Copyright © 2011-2022 走看看