专栏首页calvin修改 jquery.validate.js 支持非form标签

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • xamarin.forms新建项目android编译错误

    vs2015 update3 新建的xamarin.forms项目中的android项目编译错误。提示缺少android_m2repository_r22.zi...

    旺财的城堡
  • .net core 源码解析-web app是如何启动并接收处理请求

    最近.net core 1.1也发布了,蹒跚学步的小孩又长高了一些,园子里大家也都非常积极的在学习,闲来无事,扒拔源码,涨涨见识。

    旺财的城堡
  • 【nodejs】让nodejs像后端mvc框架(asp.net mvc )一样处理请求--控制器的声明定义和发现篇(3/8)

    前面文章把路由已经介绍的差不多了,包括url映射,路由选择等。接下来讲一讲controller的一些基本规则

    旺财的城堡
  • kmskeys10 By HKL, Saturday 7

    https://technet.microsoft.com/en-us/library/jj612867.aspx?lc=1033

    hiplon
  • js2

    到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。

    suwanbin
  • 覆盖4.6亿+设备量,腾讯Hardcoder框架正式开源

    ? Hardcoder 的诞生 随着微信越来越复杂,性能优化变得越来越难做,优化所带来的效果提升也越来越不明显。所以我们一直在思考,该如何突破这个优化的极限?...

    腾讯开源
  • 如何将多个Eclipse项目导入IntelliJ IDEA

    IntelliJ IDEA 与Eclipse在新建项目上的叫法略有不同,区别见下图。

    lyb-geek
  • Linux 系统运维工具 OpenLMI

    OpenLMI(全称 Open Linux Management Infrastructure)顾名思义就是开放式的 Linux 管理基础架构。OpenLMI...

    shaonbean
  • 前端学习笔记之BOM和DOM

    到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。

    Jetpropelledsnake21
  • Django小知识

    问:我用python manage.py makemigrations怎么没能将我的model文件生成数据?

    机械视角

扫码关注云+社区

领取腾讯云代金券