首页 > 代码库 > JQuery中内容操作函数、validation表单校验

JQuery中内容操作函数、validation表单校验

JQuery:
内容体拼接(可以直接拼接元素节点和内容节点)
  JQuery实现:
    方案1:A.append(B); == B.appendTo(A);A的后面拼接B
    方案2: A.prepend(B); == B.prependTo(A);A文本的最前面插入B
  text()与html()比较:
    1.相同点:
      都可以设置或获取内容
    2.不同点:
      获取时,html()获取的是所有内容体:标签+文本
      text()获取的只是文本
      设置时,如果设置的内容有html()标签
      html()设置的内容可以被浏览器当做标签解析
      text()设置的所有内容都被当成了普通文本
    3.二者用于场景
      JS一般使用html()函数
      类似于text()的实现一般用于xml解析
    val():对表单中的value值进行操作
  事件简化:hover()
    d1.hover(
      function(){t1.val("第一个是移入事件")},
      function(){t1.val("第二个是移出事件")}
    );

validation是对表单校验的封装,是一个第三方的JQuery的插件,使用的时候先导入JQuery包(JQuery是一个插座)
表单校验中涉及两个要素:规则和提示信息
  &(function(){
    //定位表单,调用方法validate()进行校验
    $("#id").validate({
      //规则,注意大括号和分号的使用
      rules:{
        //通过name属性值定位标签节点
        username:{
          //属性:属性值, 注意逗号,用逗号分隔,结尾处不用
          required:true, //必填
          rangelength:[6,10] //字符长度
        }
      },
      //提示信息
      messages:{
        username:{
          required:"这是必填项",
          rangelength:"长度必须在6~10个字符之间"
        }
      }
    });
  });
其它校验器:
  email:{
    email:true //必须符合邮箱格式
  },
  birthday:{
    date:true, //必须符合日期格式
    number:true, //必须是数字
    min:1000, //最小值
    range:[6,16], //必须是在这之间的数字
  },
  pwd:{
    required:true
  },
  repwd:{
    required:true,
    equalTo:"input[name=‘pwd‘]" //值必须和名字为pwd的input标签的value值相等
  }

自定义校验类型:
   1.编写校验类型
      $.validator.addMethod(参数1,参数2,参数3);
        参数1:该校验类型的名字
        参数2:该校验类型的具体实现
        参数3:错误提示
   2.参数2详解,参数2返回一个boolean的值,返回false执行错误提示(参数3)
      function(参数1,参数2,参数3)
        参数1 ----- 客户录入的值
        参数2 ----- 输入项对应的对象
        参数3 ----- 使用校验类型时,校验类型的取值
   $.validator.addMethod("my",function(v,e,p){
      //根据客户录入的数据进行校验,判断是不是合法的,如果合法,返回 true,否则返回 false
      //判断 v 中是不是有敏感词(pujing)
      if(v.indexOf("pujing") != -1){//有pujing
        return false;
      }
      return true;
    },"不能出现政治敏感词");
    $(function(){
      $("#f1").validate({
        rules:{
          username:{
            my:true
          }
        }
      });
    });

validation插件设置错误信息时的原理:(查看元素的方法:在网页中查看)
  内置的错误提示,格式:
    <label id="" class="error" for="对应输入项的name值">提示信息</lable>
    看见内置的格式之后通过格式定位标签元素改变其属性等,在css代码中修饰元素,在js中动态处理元素
    通过标签名得到元素: lable (标签名选择器)
    通过class名得到元素: .error (class选择器)
  拓展:
    怎么让错误提示换行
    错误提示是默认生成的,紧跟在相应的input后面
    在相应的位置,自己添加标签 <label class="error" for="name值"></lable>自己添加之后系统不会自己添加

  内置了一些错误提示,使用时,不需要编写messages部分即可得到默认的
  国际化:
    相同软件显示不同的语言,内置语言包实现,dist文件中
    <script type="text/javascript" src="http://www.mamicode.com/js/messages_es_PE.js" ></script>

可以自己在html中提供校验:
  1.在script中得到表单并提供校验方法,没有具体实现,自己在html中通过通过class提供具体的校验器,要改提示信息同样通过选择器定位lable标签
    <input type="text" name="pwd" class="required number" />
  2.直接在要校验的标准中内置validation的属性和属性值:
    <input type="text" name="username" required="true" minlength="2" maxlength="8" />
  3.因为内置属性不是html自己的属性,所以提供自定义标签标记
    <input type="text" name="username" data-rule-required="true" data-rule-minlength="2" data-rule-maxlength="8" />

JQuery中内容操作函数、validation表单校验