成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

jQuery?Validate多實(shí)例講解

whidy / 2031人閱讀

規(guī)則 描述
required:true 必須輸入的字段。
remote:"check.php" 使用 ajax 方法調(diào)用 check.php 驗(yàn)證輸入值。
email:true 必須輸入正確格式的電子郵件。
url:true 必須輸入正確格式的網(wǎng)址。
date:true 必須輸入正確格式的日期。日期校驗(yàn) ie6 出錯(cuò),慎用。
dateISO:true 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22。只驗(yàn)證格式,不驗(yàn)證有效性。
number:true 必須輸入合法的數(shù)字(負(fù)數(shù),小數(shù))。
digits:true 必須輸入整數(shù)。
creditcard:true 必須輸入合法的信用卡號(hào)。
equalTo:"#field" 輸入值必須和 #field 相同。
accept: 輸入擁有合法后綴名的字符串(上傳文件的后綴)。
maxlength:5 輸入長(zhǎng)度最多是 5 的字符串(漢字算一個(gè)字符)。
minlength:10 輸入長(zhǎng)度最小是 10 的字符串(漢字算一個(gè)字符)。
rangelength:[5,10] 輸入長(zhǎng)度必須介于 5 和 10 之間的字符串(漢字算一個(gè)字符)。
range:[5,10] 輸入值必須介于 5 和 10 之間。
max:5 輸入值不能大于 5。
min:10 輸入值不能小于 10。
推薦格式
  $().ready(function() {
  // 在鍵盤(pán)按下并釋放及提交后驗(yàn)證提交表單
    $("#signupForm").validate({
      rules: {
        firstname: "required",
        lastname: "required",
        username: {
          required: true,
          minlength: 2
        },
        password: {
          required: true,
          minlength: 5
        },
        confirm_password: {
          required: true,
          minlength: 5,
          equalTo: "#password"
        },
        email: {
          required: true,
          email: true
        },
        topic: {
          required: "#newsletter:checked",
          minlength: 2
        },
        agree: "required"
      },
      messages: {
        firstname: "請(qǐng)輸入您的名字",
        lastname: "請(qǐng)輸入您的姓氏",
        username: {
          required: "請(qǐng)輸入用戶(hù)名",
          minlength: "用戶(hù)名必需由兩個(gè)字母組成"
        },
        password: {
          required: "請(qǐng)輸入密碼",
          minlength: "密碼長(zhǎng)度不能小于 5 個(gè)字母"
        },
        confirm_password: {
          required: "請(qǐng)輸入密碼",
          minlength: "密碼長(zhǎng)度不能小于 5 個(gè)字母",
          equalTo: "兩次密碼輸入不一致"
        },
        email: "請(qǐng)輸入一個(gè)正確的郵箱",
        agree: "請(qǐng)接受我們的聲明",
        topic: "請(qǐng)選擇兩個(gè)主題"
      }
  });
用其他方式替代默認(rèn)的 SUBMIT
  $().ready(function() {
   $("#signupForm").validate({
          submitHandler:function(form){
              alert("提交事件!");   
              form.submit();
          }    
      });
  });
  $("#btnSubmit").click(function(){
      if ($("#frmAddVisit").valid() == true) {
          submitInfo();
      }
  });
   $(".selector").validate({     
   submitHandler: function(form) 
     {      
        $(form).ajaxSubmit();     
     }  
   }) 
debug,只驗(yàn)證不提交表單
  $().ready(function() {
   $("#signupForm").validate({
          debug:true
      });
  });
更改錯(cuò)誤信息顯示的位置

默認(rèn)情況是:把錯(cuò)誤信息放在驗(yàn)證的元素后面

參數(shù) 類(lèi)型 描述 默認(rèn)值
errorClass String 指定錯(cuò)誤提示的 css 類(lèi)名,可以自定義錯(cuò)誤提示的樣式。 "error"
errorElement String 用什么標(biāo)簽標(biāo)記錯(cuò)誤,默認(rèn)是 label,可以改成 em。 "label"
errorContainer Selector 顯示或者隱藏驗(yàn)證信息,可以自動(dòng)實(shí)現(xiàn)有錯(cuò)誤信息出現(xiàn)時(shí)把容器屬性變?yōu)轱@示,無(wú)錯(cuò)誤時(shí)隱藏,用處不大。
errorLabelContainer Selector 把錯(cuò)誤信息統(tǒng)一放在一個(gè)容器里面。
wrapper String 用什么標(biāo)簽再把上邊的 errorELement 包起來(lái)。
  $.validator.setDefaults({
      submitHandler: function() {
        alert("提交事件!");
      }
  });

  $().ready(function() {
      // 提交時(shí)驗(yàn)證表單
      var validator = $("#form1").validate({
          errorPlacement: function(error, element) {
              // Append error within linked label
              $( element )
                  .closest( "form" )
                      .find( "label[for="" + element.attr( "id" ) + ""]" )
                          .append( error );
          },
          errorElement: "span",
          messages: {
              user: {
                  required: " (必需字段)",
                  minlength: " (不能少于 3 個(gè)字母)"
              },
              password: {
                  required: " (必需字段)",
                  minlength: " (字母不能少于 5 個(gè)且不能大于 12 個(gè))",
                  maxlength: " (字母不能少于 5 個(gè)且不能大于 12 個(gè))"
              }
          }
      });

      $(".cancel").click(function() {
          validator.resetForm();
      });
  });
異步驗(yàn)證
  remote:{
        url: site_path + "/open/check?d=" + Math.random(),     //后臺(tái)處理程序
        type: "post",               //數(shù)據(jù)發(fā)送方式
        dataType: "json",           //接受數(shù)據(jù)格式   
        data: {                     //要傳遞的數(shù)據(jù)
        companyname: function() {
               return $("#companyname").val();
              }
          }
  }
      @ResponseBody
      @RequestMapping(value = "/open/check", method = RequestMethod.POST)
      public boolean check(HttpServletRequest httpRequest) {
          return false;
      }

服務(wù)端就直接返回boolean值,如果不通過(guò)則返回false,反之返回true

添加自定義校驗(yàn)
  addMethod:name, method, message

參數(shù) name 是添加的方法的名字。
參數(shù) method 是一個(gè)函數(shù),接收三個(gè)參數(shù) (value,element,param) 。
value 是元素的值,element 是元素本身,param 是參數(shù)。

  // 中文字兩個(gè)字節(jié)
  jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
      var length = value.length;
      for(var i = 0; i < value.length; i++){
          if(value.charCodeAt(i) > 127){
              length++;
          }
      }
    return this.optional(element) || ( length >= param[0] && length <= param[1] );   
  }, $.validator.format("請(qǐng)確保輸入的值在{0}-{1}個(gè)字節(jié)之間(一個(gè)中文字算2個(gè)字節(jié))"));

  // 郵政編碼驗(yàn)證   
  jQuery.validator.addMethod("isZipCode", function(value, element) {   
      var tel = /^[0-9]{6}$/;
      return this.optional(element) || (tel.test(value));
  }, "請(qǐng)正確填寫(xiě)您的郵政編碼");

要在 additional-methods.js 文件中添加或者在 jquery.validate.js 文件中添加。建議一般寫(xiě)在 additional-methods.js 文件中。

  $.validator.addMethod("af",function(value,element,params){  
      if(value.length>1){
          return false;
      }
      if(value>=params[0] && value<=params[1]){
          return true;
      }else{
          return false;
      }
  },"必須是一個(gè)字母,且a-f");
  username:{
     af:["a","f"]
  }

addMethod 的第一個(gè)參數(shù),是添加的驗(yàn)證方法的名字,這時(shí)是 af。
addMethod 的第三個(gè)參數(shù),是自定義的錯(cuò)誤提示,這里的提示為:"必須是一個(gè)字母,且a-f"。
addMethod 的第二個(gè)參數(shù),是一個(gè)函數(shù),這個(gè)比較重要,決定了用這個(gè)驗(yàn)證方法時(shí)的寫(xiě)法。
如果只有一個(gè)參數(shù),直接寫(xiě),比如 af:"a",那么 a 就是這個(gè)唯一的參數(shù),如果多個(gè)參數(shù),則寫(xiě)在 [] 里,用逗號(hào)分開(kāi)。

jQuery.validate 中文 API
名稱(chēng) 返回類(lèi)型 描述
validate(options) Validator 驗(yàn)證所選的 FORM。
valid() Boolean 檢查是否驗(yàn)證通過(guò)。
rules() Options 返回元素的驗(yàn)證規(guī)則。
rules("add",rules) Options 增加驗(yàn)證規(guī)則。
rules("remove",rules) Options 刪除驗(yàn)證規(guī)則。
removeAttrs(attributes) Options 刪除特殊屬性并且返回它們。

##### Validator

名稱(chēng) 返回類(lèi)型 描述
form() Boolean 驗(yàn)證 form 返回成功還是失敗。
element(element) Boolean 驗(yàn)證單個(gè)元素是成功還是失敗。
resetForm() undefined 把前面驗(yàn)證的 FORM 恢復(fù)到驗(yàn)證前原來(lái)的狀態(tài)。
showErrors(errors) undefined 顯示特定的錯(cuò)誤信息。
Validator 函數(shù)
setDefaults(defaults) undefined 改變默認(rèn)的設(shè)置。
addMethod(name,method,message) undefined 添加一個(gè)新的驗(yàn)證方法。必須包括一個(gè)獨(dú)一無(wú)二的名字,一個(gè) JAVASCRIPT 的方法和一個(gè)默認(rèn)的信息。
addClassRules(name,rules) undefined 增加組合驗(yàn)證類(lèi)型,在一個(gè)類(lèi)里面用多種驗(yàn)證方法時(shí)比較有用。
addClassRules(rules) undefined 增加組合驗(yàn)證類(lèi)型,在一個(gè)類(lèi)里面用多種驗(yàn)證方法時(shí)比較有用。這個(gè)是同時(shí)加多個(gè)驗(yàn)證方法。
驗(yàn)證的觸發(fā)方式修改

onsubmit、onfocusout、onkeyup、onclick、focusInvalid默認(rèn)的時(shí)候都是true,focusCleanup默認(rèn)為false

  $(".selector").validate({  
      onsubmit:false
  })

更多內(nèi)容可以關(guān)注微信公眾號(hào),或者訪問(wèn)AppZone網(wǎng)站

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/49887.html

相關(guān)文章

  • jQuery?Validate實(shí)例講解

    規(guī)則 描述 required:true 必須輸入的字段。 remote:check.php 使用 ajax 方法調(diào)用 check.php 驗(yàn)證輸入值。 email:true 必須輸入正確格式的電子郵件。 url:true 必須輸入正確格式的網(wǎng)址。 date:true 必須輸入正確格式的日期。日期校驗(yàn) ie6 出錯(cuò),慎用。 dateISO:true 必須輸入正確格式的日期(...

    yibinnn 評(píng)論0 收藏0
  • 前端技術(shù) 博客文章、書(shū)籍 積累

    摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫(xiě)代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書(shū)籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專(zhuān)家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...

    LiangJ 評(píng)論0 收藏0
  • 前端技術(shù) 博客文章、書(shū)籍 積累

    摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫(xiě)代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書(shū)籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專(zhuān)家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...

    codercao 評(píng)論0 收藏0
  • 前端技術(shù) 博客文章、書(shū)籍 積累

    摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫(xiě)代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書(shū)籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專(zhuān)家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...

    huayeluoliuhen 評(píng)論0 收藏0
  • 重構(gòu) - 設(shè)計(jì)API的擴(kuò)展機(jī)制

    1.前言 上篇文章,主要介紹了重構(gòu)的一些概念和一些簡(jiǎn)單的實(shí)例。這一次,詳細(xì)的說(shuō)下項(xiàng)目中的一個(gè)重構(gòu)場(chǎng)景--給API設(shè)計(jì)擴(kuò)展機(jī)制。目的就是為了方便以后能靈活應(yīng)對(duì)需求的改變。當(dāng)然了,是否需要設(shè)計(jì)擴(kuò)展性這個(gè)要看API的需求。如果大家有什么建議,歡迎評(píng)論留言。 2.擴(kuò)展性表現(xiàn)形式 2-1.prototype 這個(gè)可以說(shuō)是JS里面最原的一個(gè)擴(kuò)展。比如原生JS沒(méi)有提供打亂數(shù)組順序的API,但是開(kāi)發(fā)者又想方便使用...

    Lowky 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<