溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jquery-validate怎么用

發(fā)布時(shí)間:2022-05-16 13:38:06 來(lái)源:億速云 閱讀:134 作者:iii 欄目:web開(kāi)發(fā)

這篇文章主要介紹“jquery-validate怎么用”,在日常操作中,相信很多人在jquery-validate怎么用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jquery-validate怎么用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

jquery-validate是指表單驗(yàn)證插件,是基于jquery開(kāi)發(fā)的驗(yàn)證插件,為表單提供了強(qiáng)大的驗(yàn)證功能,讓客戶端表單驗(yàn)證變得更簡(jiǎn)單;該插件捆綁了一套有用的驗(yàn)證方法,包括URL和電子郵件驗(yàn)證,同時(shí)提供一個(gè)用來(lái)編寫用戶自定義方法的API。

jquery-validate怎么用

本教程操作環(huán)境:windows7系統(tǒng)、jquery2.2.1&&jquery-validate1.14.0版本、Dell G3電腦。

jquery-validate是指表單驗(yàn)證插件,是基于jquery開(kāi)發(fā)的一個(gè)驗(yàn)證插件。

jQuery Validate 插件為表單提供了強(qiáng)大的驗(yàn)證功能,讓客戶端表單驗(yàn)證變得更簡(jiǎn)單,同時(shí)提供了大量的定制選項(xiàng),滿足應(yīng)用程序各種需求。該插件捆綁了一套有用的驗(yàn)證方法,包括 URL 和電子郵件驗(yàn)證,同時(shí)提供了一個(gè)用來(lái)編寫用戶自定義方法的 API。所有的捆綁方法默認(rèn)使用英語(yǔ)作為錯(cuò)誤信息,且已翻譯成其他 37 種語(yǔ)言。

該插件是由 J?rn Zaefferer 編寫和維護(hù)的,他是 jQuery 團(tuán)隊(duì)的一名成員,是 jQuery UI 團(tuán)隊(duì)的主要開(kāi)發(fā)人員,是 QUnit 的維護(hù)人員。該插件在 2006 年 jQuery 早期的時(shí)候就已經(jīng)開(kāi)始出現(xiàn),并一直更新至今。目前版本是 1.14.0。

訪問(wèn) jQuery Validate 官網(wǎng),下載最新版的 jQuery Validate 插件。

導(dǎo)入 js 庫(kù)

<script src="http://libs.cdnjs.net/jquery/2.2.1/jquery.js" rel="external nofollow"  rel="external nofollow" ></script>
<script src="http://libs.cdnjs.net/jquery-validate/1.14.0/jquery.validate.min.js" rel="external nofollow"  rel="external nofollow" ></script>

默認(rèn)校驗(yàn)規(guī)則

序號(hào)規(guī)則描述
1required:true必須輸入的字段。
2remote:"check.php"使用 ajax 方法調(diào)用 check.php 驗(yàn)證輸入值。
3email:true必須輸入正確格式的電子郵件。
4url:true必須輸入正確格式的網(wǎng)址。
5date:true必須輸入正確格式的日期。日期校驗(yàn) ie6 出錯(cuò),慎用。
6dateISO:true必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22。只驗(yàn)證格式,不驗(yàn)證有效性。
7number:true必須輸入合法的數(shù)字(負(fù)數(shù),小數(shù))。
8digits:true必須輸入整數(shù)。
9creditcard:必須輸入合法的信用卡號(hào)。
10equalTo:"#field"輸入值必須和 #field 相同。
11accept:輸入擁有合法后綴名的字符串(上傳文件的后綴)。
12maxlength:5輸入長(zhǎng)度最多是 5 的字符串(漢字算一個(gè)字符)。
13minlength:10輸入長(zhǎng)度最小是 10 的字符串(漢字算一個(gè)字符)。
14rangelength:[5,10]輸入長(zhǎng)度必須介于 5 和 10 之間的字符串(漢字算一個(gè)字符)。
15range:[5,10]輸入值必須介于 5 和 10 之間。
16max:5輸入值不能大于 5。
17min:10輸入值不能小于 10。

默認(rèn)提示

messages: {
    required: "This field is required.",
    remote: "Please fix this field.",
    email: "Please enter a valid email address.",
    url: "Please enter a valid URL.",
    date: "Please enter a valid date.",
    dateISO: "Please enter a valid date ( ISO ).",
    number: "Please enter a valid number.",
    digits: "Please enter only digits.",
    creditcard: "Please enter a valid credit card number.",
    equalTo: "Please enter the same value again.",
    maxlength: $.validator.format( "Please enter no more than {0} characters." ),
    minlength: $.validator.format( "Please enter at least {0} characters." ),
    rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ),
    range: $.validator.format( "Please enter a value between {0} and {1}." ),
    max: $.validator.format( "Please enter a value less than or equal to {0}." ),
    min: $.validator.format( "Please enter a value greater than or equal to {0}." )
}

jQuery Validate提供了中文信息提示包,位于下載包的 /localization/messages_zh.js,內(nèi)容如下:

(function( factory ) {
    if ( typeof define === "function" && define.amd ) {
        define( ["jquery", "../jquery.validate"], factory );
    } else {
        factory( jQuery );
    }
}(function( $ ) {
/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: ZH (Chinese, 中文 (Zhōngwén), 漢語(yǔ), 漢語(yǔ))
 */
$.extend($.validator.messages, {
    required: "這是必填字段",
    remote: "請(qǐng)修正此字段",
    email: "請(qǐng)輸入有效的電子郵件地址",
    url: "請(qǐng)輸入有效的網(wǎng)址",
    date: "請(qǐng)輸入有效的日期",
    dateISO: "請(qǐng)輸入有效的日期 (YYYY-MM-DD)",
    number: "請(qǐng)輸入有效的數(shù)字",
    digits: "只能輸入數(shù)字",
    creditcard: "請(qǐng)輸入有效的信用卡號(hào)碼",
    equalTo: "你的輸入不相同",
    extension: "請(qǐng)輸入有效的后綴",
    maxlength: $.validator.format("最多可以輸入 {0} 個(gè)字符"),
    minlength: $.validator.format("最少要輸入 {0} 個(gè)字符"),
    rangelength: $.validator.format("請(qǐng)輸入長(zhǎng)度在 {0} 到 {1} 之間的字符串"),
    range: $.validator.format("請(qǐng)輸入范圍在 {0} 到 {1} 之間的數(shù)值"),
    max: $.validator.format("請(qǐng)輸入不大于 {0} 的數(shù)值"),
    min: $.validator.format("請(qǐng)輸入不小于 {0} 的數(shù)值")
});
}));

你可以將該本地化信息文件 /localization/messages_zh.js 引入到頁(yè)面:

<script src="http://libs.cdnjs.net/jquery-validate/1.14.0/localization/messages_zh.js" rel="external nofollow"  rel="external nofollow" ></script>

使用方式

1、將校驗(yàn)規(guī)則寫到控件中

<script src="http://libs.cdnjs.net/jquery/2.2.1/jquery.js" rel="external nofollow"  rel="external nofollow" ></script>
<script src="http://libs.cdnjs.net/jquery-validate/1.14.0/jquery.validate.min.js" rel="external nofollow"  rel="external nofollow" ></script>
<script src="http://libs.cdnjs.net/jquery-validate/1.14.0/localization/messages_zh.js" rel="external nofollow"  rel="external nofollow" ></script>
<script>
$.validator.setDefaults({
    submitHandler: function() {
      alert("提交事件!");
    }
});
$().ready(function() {
    $("#commentForm").validate();
});
</script>
<form class="cmxform" id="commentForm" method="get" action="">
  <fieldset>
    <legend>輸入您的名字,郵箱,URL,備注。</legend>
    <p>
      <label for="cname">Name (必需, 最小兩個(gè)字母)</label>
      <input id="cname" name="name" minlength="2" type="text" required>
    </p>
    <p>
      <label for="cemail">E-Mail (必需)</label>
      <input id="cemail" type="email" name="email" required>
    </p>
    <p>
      <label for="curl">URL (可選)</label>
      <input id="curl" type="url" name="url">
    </p>
    <p>
      <label for="ccomment">備注 (必需)</label>
      <textarea id="ccomment" name="comment" required></textarea>
    </p>
    <p>
      <input class="submit" type="submit" value="Submit">
    </p>
  </fieldset>
</form>

2、將校驗(yàn)規(guī)則寫到 js 代碼中

$().ready(function() {
// 在鍵盤按下并釋放及提交后驗(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)輸入用戶名",
        minlength: "用戶名必需由兩個(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è)主題"
     }
    })
});

messages 處,如果某個(gè)控件沒(méi)有 message,將調(diào)用默認(rèn)的信息

<form class="cmxform" id="signupForm" method="get" action="">
  <fieldset>
    <legend>驗(yàn)證完整的表單</legend>
    <p>
      <label for="firstname">名字</label>
      <input id="firstname" name="firstname" type="text">
    </p>
    <p>
      <label for="lastname">姓氏</label>
      <input id="lastname" name="lastname" type="text">
    </p>
    <p>
      <label for="username">用戶名</label>
      <input id="username" name="username" type="text">
    </p>
    <p>
      <label for="password">密碼</label>
      <input id="password" name="password" type="password">
    </p>
    <p>
      <label for="confirm_password">驗(yàn)證密碼</label>
      <input id="confirm_password" name="confirm_password" type="password">
    </p>
    <p>
      <label for="email">Email</label>
      <input id="email" name="email" type="email">
    </p>
    <p>
      <label for="agree">請(qǐng)同意我們的聲明</label>
      <input type="checkbox" class="checkbox" id="agree" name="agree">
    </p>
    <p>
      <label for="newsletter">我樂(lè)意接收新信息</label>
      <input type="checkbox" class="checkbox" id="newsletter" name="newsletter">
    </p>
    <fieldset id="newsletter_topics">
      <legend>主題 (至少選擇兩個(gè)) - 注意:如果沒(méi)有勾選“我樂(lè)意接收新信息”以下選項(xiàng)會(huì)隱藏,但我們這里作為演示讓它可見(jiàn)</legend>
      <label for="topic_marketflash">
        <input type="checkbox" id="topic_marketflash" value="marketflash" name="topic">Marketflash
      </label>
      <label for="topic_fuzz">
        <input type="checkbox" id="topic_fuzz" value="fuzz" name="topic">Latest fuzz
      </label>
      <label for="topic_digester">
        <input type="checkbox" id="topic_digester" value="digester" name="topic">Mailing list digester
      </label>
      <label for="topic" class="error">Please select at least two topics you'd like to receive.</label>
    </fieldset>
    <p>
      <input class="submit" type="submit" value="提交">
    </p>
  </fieldset>
</form>

說(shuō)明:

  • required: true 值是必須的。

  • required: "#aa:checked" 表達(dá)式的值為真,則需要驗(yàn)證。

  • required: function(){} 返回為真,表示需要驗(yàn)證。

后邊兩種常用于,表單中需要同時(shí)填或不填的元素。

常用方法及注意問(wèn)題

1、用其他方式替代默認(rèn)的 SUBMIT

$().ready(function() {
 $("#signupForm").validate({
        submitHandler:function(form){
            alert("提交事件!");   
            form.submit();
        }    
    });
});

使用 ajax 方式

$(".selector").validate({     
 submitHandler: function(form) 
   {      
      $(form).ajaxSubmit();     
   }  
 })

可以設(shè)置 validate 的默認(rèn)值,寫法如下:

$.validator.setDefaults({
  submitHandler: function(form) { alert("提交事件!");form.submit(); }
});

如果想提交表單, 需要使用 form.submit(),而不要使用 $(form).submit()。

2、debug,只驗(yàn)證不提交表單

如果這個(gè)參數(shù)為true,那么表單不會(huì)提交,只進(jìn)行檢查,調(diào)試時(shí)十分方便。

$().ready(function() {
 $("#signupForm").validate({
        debug:true
    });
});

如果一個(gè)頁(yè)面中有多個(gè)表單都想設(shè)置成為 debug,則使用:

$.validator.setDefaults({
   debug: true
})

3、ignore:忽略某些元素不驗(yàn)證

ignore: ".ignore"

4、更改錯(cuò)誤信息顯示的位置

errorPlacement:Callback

指明錯(cuò)誤放置的位置,默認(rèn)情況是:error.appendTo(element.parent());即把錯(cuò)誤信息放在驗(yàn)證的元素后面。

errorPlacement: function(error, element) {  
    error.appendTo(element.parent());  
}

到此,關(guān)于“jquery-validate怎么用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI