[jquery] jquery validate表单验证插件的基本使用方法及功能拓展

1 表单验证的准备工作

1.点击表单项,显示帮助提示 
在这里插入图片描述
2.鼠标离开表单项时,开始校验元素 
在这里插入图片描述
3.鼠标离开后的正确、错误提示及鼠标移入时的帮助提醒
在这里插入图片描述

2 jquery validate插件实现表单验证的小例子

在引入jquery validate插件前,需要先引入它所依赖的文件jquery.js
在jquery.validate.extend.js文件中对jquery validate原有的功能进行了扩展,并修改了相关默认选项

<script src="jquery.js"></script>
<script src="lib/jquery.validate.min.js"></script>
<script src="lib/jquery.validate.extend.js"></script>
<script src="./jquery-validation/localization/messages_zh.min.js"></script>

2.1 表单html

  <form class="cmxform" id="login" method="get" action="">
    <fieldset>
      <legend>验证完整的表单</legend>
      <p>
        <label for="username">用户名</label>
        <input id="username" name="username" type="text">
      </p>
      <p>
        <label for="password">密码</label>
        <input id="password" name="password" type="text">
      </p>
      <p>
        <label for="confirm_password">验证密码</label>
        <input id="confirm_password" name="confirm_password" type="text">
      </p>
      <p>
        <label for="email">邮箱</label>
        <input id="email" name="email" type="text">
      </p>
      <p>
        <input class="submit" type="submit" value="提交">
      </p>
      <input type="reset">
    </fieldset>
  </form>

2.3 表单css

    input.error {
      border: 1px solid red;
    }

    label.error {
      padding-left: 16px;
      padding-bottom: 2px;
      font-weight: bold;
      color: red;
    }

    /* 必须是 input 标签, 并且需要有一个 type 属性, 值还得是 reset */
    input[type=reset] {
      color: red
    }

2.3 表单验证js逻辑

    // 对检验插件的扩展
    // 第一个参数, 是校验规则名称
    // 第二个参数, 校验的执行函数
    // 第三个参数, 检验失败的时候默认的提示文本
    $.validator.addMethod('gx', function (val, ele, param) {
      const reg = /^\w{6,12}@(qq|163)\.(com|cn)$/
      return reg.test(val)
    }, $.validator.format('您的邮箱不是 qq 或者 163 邮箱, 请更换后重试'))

    // 开始使用
    // 注意: 获取到 form 标签去调用 validate 方法
    const abc = $('#login').validate({
      // 表示该表单的验证规则
      rules: {
        // key 表示验证的是哪一个表单元素, 和表单元素的 name 属性对应
        // value 表示该表单需要遵循的规则
        username: 'required',
        // value 可以写成一个对象数据类型, 表示添加多条验证规则
        password: {
          // 必填
          required: true,
          // 最少6位
          minlength: 6,
          // 最多12位
          maxlength: 12
        },
        // 重复密码
        confirm_password: {
          required: true,
          // 表示填写的内容必须要和 #password 元素内容一致
          equalTo: "#password"
        },
        email: 'gx'
      },

      // 表示该表单的自定义提示文本
      messages: {
        // 内部的书写规则和 rules 是一样的
        username: '您还没有填写 用户名 呢 ^_^',
        password: {
          required: '您还没有填写 密码 呢 ^_^',
          minlength: '您的密码长度还不到 6 位哦, 很是不安全 ^_^',
          maxlength: '您的密码长度超过 12 为了, 请少写一点把, 我记不住'
        },
        confirm_password: {
          equalTo: '您两次输入的密码不一致, 我怕你记不住, 还是改一下吧'
        }
      },

      // 表单验证完毕的提交函数
      // 当你书写了这个函数的时候, 表单验证通过以后, 就不会执行自动提交了
      // 而是执行这个函数
      submitHandler: function (form) {
        // 形参接受的内容就是该表单元素
        console.log(form)

        // jquery 内有一个方法, 叫做 serialize, 专门从 form 标签内获取所有表单的内容
        // 能把表单中的所有内容自动获取出来, 并且组装成 查询字符串 格式
        const str = $(form).serialize()
        console.log(str)
      },

      // debug 模式开始
      // 只验证不提交
      // 表示表单不会执行自动提交, 但是依旧会执行 submitHandler 函数
      // debug: true

      // 忽略不验证元素
      // ignore: '#username'
    })
    // 重置表单
    $('input[type=reset]').click(function () {
      abc.resetForm()
    })

在这里插入图片描述





参考:
jquery validate表单验证插件的基本使用方法及功能拓展

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值