zoukankan      html  css  js  c++  java
  • 关于jquery.validate.js的几点

    一、对于要验证的字段,最好加上name属性,经测试,没加name属性的字段有时候不参与验证。

    二、对于只有一个验证规则的字段,可直接写在元素的class属性中,如非空验证,只需写成class="required"。

     <textarea id="embody" style=" 80%;" name="embody" rows="5" data-link="embody" class="required"></textarea>

    三、对于一个字段有多个验证规则,有两种方式处理

         1、直接写在元素的class属性中,如 class="{"requied":true,"maxlength":"50"}",这种方式需要引入jquery.metadata.js

              这种方式是在网上看到的,反正我是没测试成功。所以采用的下面的方式。

         2、在页面加载时,定义验证规则,如我要验证邮件标题不能为空,且长度不能超过50个字符。emailForm是我包在emtitle元素外的form标签。

    //设置验证
            $("#emailForm").validate({
                rules: {
                    emtitle: { required: true, maxlength: "50" },//标题长度不能超过50个
                }
            });

    四、jquery.validate.js默认是不对hidden、disabled的元素验证的。如果你要对这样的元素加验证规则。需要改掉jquery.validate.js的代码,还有就是像我下面这样做,也可以解决。

           我的邮件接收人是个input元素,是只能通过按钮选择发送人,不能直接输入。      

     <input type="text" id="emto" data-link="emto" class="required" name="emto"  style=" 75%; color: black" disabled="disabled" />

         因为我加了disabled="disabled"属性,所以直接使用class="required"是无法使该元素参与验证的。

         所以在保存前的验证时,我先设置disabled为true,使它能参与验证,验证完后,马上又恢复为false。在用户看来,这个元素仍然是始终不能输入的,这样也就达到效果。

        看第2行和第5行。

    1 //validate.js不会对disabled的元素验证。所以验证时,先改为可用,验证完后,再改回来
    2         $("#emto").attr("disabled", false);
    3         //如果输入验证不通过,则阻止提交
    4         if (!$("#emailForm").valid()) {
    5             $("#emto").attr("disabled", true);
    6             return;
    7         }

         

  • 相关阅读:
    Java语言基础之流程控制语句
    localStorage的详细
    LeetCode374-猜数字大小(二分查找)
    LeetCode326-3的幂(很奇妙的水题)
    Angular学习-
    Angular学习-构建/部署
    JavaScript词法分析步骤
    IO模型
    解决You should consider upgrading via the 'python -m pip install --upgrade pip' command.
    协程
  • 原文地址:https://www.cnblogs.com/wilasi/p/3818712.html
Copyright © 2011-2022 走看看