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还是蛮好用的

  • 相关阅读:
    git Permissions 0777 for '/home/xxx/.ssh/id_rsa' are too open.
    Linux wc指令解析
    RK3288 开机动画旋转
    tp3.2 事务
    PHP实现动态获取函数参数的方法
    laravel 配置设置
    swoole 使用异步redis的前置条件
    php回调函数的概念及实例
    swoole 安装
    linux 源码安装PHP
  • 原文地址:https://www.cnblogs.com/calvinK/p/5916294.html
Copyright © 2011-2022 走看看