搜尋
首頁web前端js教程jquery.validate的使用說明介紹_jquery

一、準備工作
需要JQuery版本:1.2.6 , 相容 1.3.2

官網網址:http://jqueryvalidation.org/

二、預設校驗規則
(1)required:true 必輸欄位 
(2)remote:"check.php" 使用ajax方法呼叫check.php驗證輸入值
(3)email:true 必須輸入正確格式的電子郵件 
(4)url:true 必須輸入正確格式的網址 
(5)date:true 必須輸入正確格式的日期 
( 6)dateISO:true 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗證格式,不驗證有效性 
(7)number:true 必須輸入合法的數字(負數,小數) 
(8)digits:true 必須輸入整數 
(9)creditcard: 必須輸入合法的信用卡號 
(10)equalTo:"#field" 輸入值必須和#field相同
(11)accept: 輸入擁有合法後綴名的字串(上傳檔案的字尾) 
(12)maxlength:5 輸入長度最多是5的字串(漢字算一個字元) 
(13 )minlength:10 輸入長度最小是10的字串(漢字算字元) 
(14)rangelength:[5,10] 輸入長度必須介於5 和10 之間的字串")(漢字算一個字元) 
(15)range:[5,10] 輸入值必須介於5 和10 之間 
(16)max:5 輸入值不能大於5 
(17)min:10 輸入值不能小於10 

三、預設的提示

複製程式碼 代碼如下:
messages: { 
required: "This field is required.", 
remote: "Please fix this field.", 
email: "Please enter valid email address.",o> : "Please enter a valid URL.", 
date: "Please enter a valid date.", 
dateISO: "Please enter a valid date (ISO).", 
dateDEDE: "Bitte valid date (ISO).", 
dateDEDE: "Bittege Sbenie ein 眉ltiges Datum ein.", 
number: "Please enter a valid number.", 
numberDE: "Bitte geben Sie eine Nummer ein.", 
digits: "Please enter only di
creditcard: "Please enter a valid credit card number.", 
equalTo: "Please enter the same value again.", 
accept: "Please enter avalue with a value. >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}.") 
}, 


如需要修改,可在js程式碼中加入:


複製程式碼 程式碼如下:jQuery.extend(jQuery.validator.messages, { 
required: "必選欄位", > "請修正該欄位", 
email: "請輸入正確格式的電子郵件", 
url: "請輸入合法的網址", 
date: "請輸入合法的日期", 
dateISO: "請輸入合法的日期(ISO).", 
number: "請輸入合法的數字", 
digits: "只能輸入整數", 
creditcard: "請輸入合法的信用卡號", 
equalTo: "請再輸入相同的值", 
accept: "請輸入擁有合法後綴名的字串", 
maxlength: jQuery.validator.format("請輸入一個長度最多是{0} 的字串"), 
minlength: jQuery.validator.format("請輸入一個長度最少是{0} 的字串"), 
rangelength: jQuery.validator.format( "請輸入一個長度介於{0} 和{1} 之間的字串"), 
range: jQuery.validator.format("請輸入介於{0} 和{1} 之間的值"), 
max: jQuery.validator.format("請輸入一個最大為{0} 的值"), 
min: jQuery.validator.format("請輸入一個最小為{0} 的值") 
});


建議做法,將此檔案放入messages_cn.js中,在頁面中引入

四、使用方式
1.將校驗規則寫到控件中



複製代碼

程式碼如下:

 
 


使用class="{}"的方式,必須引入套件:jquery.metadata.js 可以使用以下的方法,修改提示內容:
class=" {required:true,minlength :5,messages: {required:'請輸入內容'}}"使用equalTo關鍵字時,後面的內容必須加上引號,如下碼:
class=" {required:true ,minlength:5,equalTo :'#password'}" 另外一種方式,使用關鍵字:meta(為了元資料使用其他外掛程式你要把你的驗證規則包裝在自己的專案中可以使用這個特殊的選項)
告訴驗證外掛程式查看元資料中的驗證屬性以取得驗證規則。
例如:
複製程式碼程式碼如下:

meta: "validate" >

還有一種方式:
複製程式碼程式碼如下:

$.metadata.setType("attr", "validate" );這樣可以使用validate="{required:true}"的方式,或是class="required",但class="{required:true,minlength: 5}"將無效2.將驗證規則寫入程式碼中 
$().ready(function() { 
$("#signupForm").validate({ 
rules: {
名字:「必填」, 
電子郵件:{ 
必填:true, 
電子郵件:true 
}, 
密碼:{ 
必填:true, 
最小長度: 5  }, 

必需: true, 
最小長度: 5, 
equalTo: "#password" 

}, 
訊息: { 
名字: "請輸入姓名」 , 
電子郵件: { 
必填: "請輸入電子郵件地址", 
電子郵件: "請輸入正確的電子郵件地址" 
}, 
password: { 
required: "請輸入密碼", 
minlength: jQuery.format("密碼不能小於{0}個字元") 
}, 
confirm_password: { 
required : "🎜>confirm_password: { 
required : "請輸入確認密碼", 
minlength: "確認密碼不能小於5個字元", 
equalTo: "兩次輸入密碼不一致" 


});
});/🎜>} 
});
});/🎜>} 
});
}); /訊息處,如果某個控制項沒有訊息,將呼叫預設的訊息
複製程式碼複製程式碼 程式碼如下:

 

 
名字標籤> 
 

 

 
電子郵件標籤> 
 

 

 
密碼標籤> 
 

 

 

 

 

 
 
 
表格> 


required:true 必須有值
required:"#aa:checked" 表達式的值為真,則需要驗證
required :function(){}回傳為真,表時需驗證
後邊兩者常用於,表單中需要同時填或不填的元素

五、常用方法及注意問題

1.用其他方式取代預設的SUBMIT$().ready(function() {
$("#signupForm").validate({
submitHandler:function(form){
alert ("已提交");
form.submit();
}
});
});

可以設定validate的預設值,寫法如下:
$.validator.setDefaults({
submitHandler: function(form) {alert("已提交!");form.submit(); }
});

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

2.debug,如果這個參數是true,那麼表單不會提交,只要檢查,調試時十分方便
$().ready(function() {
$("#signupForm" ) .validate({
調試:true
});
});

如果一個頁面有多個表單,用
$.validator.setDefaults({
debug: true
})

3.ignore:忽略某些元素不驗證
ignore: ".ignore"

4.errorPlacement:回呼預設:將錯誤訊息放在驗證的元素後面

指明錯誤放置的位置,預設情況是:error.appendTo(element.parent());即把錯誤訊息放在驗證的元素後面
errorPlacement: function(error, element) {
error .appendTo(element.parent());
}//範例:

複製程式碼程式碼如下:

 
 
 

 
 
 
 
14/02/07 
 
 
 
07/02/14 
 
 

 
 
 
 
 
 
 
 
errorPlacement: function(error, element) { 
if ( element.is(":radio") ) 
error.appendTo( element.parent().next().next ()); 
else if ( element.is(":checkbox") ) 
error.appendTo ( element.next() ) ; 
else 
error.appendTo( element.parent().next() ); 
}

コードの機能は次のとおりです。 通常の状況では、エラー メッセージは に表示されます。ラジオの場合は に表示され、チェックボックスの場合はコンテンツの後ろに表示されます。 errorClass: 文字列 デフォルト: "error"

エラー プロンプトの CSS クラス名を指定すると、エラー プロンプトのスタイルをカスタマイズできます。 errorElement: String Default: "label"

エラーをマークするにはどのラベルを使用する必要がありますか? デフォルトは label です。emerrorContainer: Selector

に変更できます。

検証情報を表示または非表示にすると、エラー メッセージが表示された場合に表示されるコンテナーのプロパティが自動的に変更され、エラーがない場合は非表示になります。

errorContainer: "#messageBox1, #messageBox2"errorLabelContainer:セレクター

エラーメッセージをコンテナに入れます。ラッパー: 文字列

上記の errorElement をラップするにはどのタグを使用する必要がありますか? .error",

errorLabelContainer: $("#signupForm div.error"),
wrapper: "li" エラー プロンプトのスタイルを設定します。表示するアイコンを追加できます。 input.error { border: 1px 単色赤 }
label.error {
background:url("./demo/images/unchecked.gif") no-repeat 0px 0px; padding-bottom: 2px; color: #EA5200;
}
label.checked {
background:url("./demo/images/checked.gif") no-repeat 0px 0px;
}成功: String,Callback

検証対象の要素が検証に合格した後のアクションは、文字列が続く場合、CSS クラスとして扱われます。または、関数
success: function(label) {// IE のテキストとして設定
label.html(" ").addClass("checked");
//label.addClass("valid").text("Ok!")
}

CSS で定義されたスタイルで検証要素に「valid」を追加します

success: "valid" nsubmit: Boolean Default: true

送信時に検証します。 false に設定されている場合は、他のメソッドを使用して検証します。

onfocusout: ブール値 デフォルト: true

フォーカスを失うと検証になります (チェックボックス/ラジオ ボタンを除く)

onkeyup: ブール値 デフォルト: true

キーアップ時に確認します。

onclick: ブール値 デフォルト: true

チェックボックスとラジオのクリックを検証します

focusInvalid: ブール値 デフォルト: true

フォームが送信された後、検証に失敗したフォーム (送信前にフォーカスを受け取った最初の検証フォームまたは失敗した検証フォーム) がフォーカスを取得します。

focusCleanup: ブール値 デフォルト: false

true の場合、検証に失敗した要素がフォーカスを取得したときのエラー メッセージを削除します。 focusInvalid との併用は避けてください // フォームをリセット


コードをコピー コードは次のとおりです:
$( ).ready(function() {
var validator = $("#signupForm").validate({
submitHandler:function(form){
alert("submitted");
form.submit();
}
});
$("#reset").click(function() {
validator.resetForm();
}); });

検証に ajax を使用します。デフォルトでは、現在検証されている値がリモート アドレスに送信されます。他の値を送信する必要がある場合は、データ オプション

remote: {
url: "check-email. php", //バックエンドハンドラ
type: "post", //データ送信メソッド
dataType: "json", //受け入れるデータ形式
data: { //転送するデータ
username: function() {
return $( "#username").val();
}
}
}


リモート アドレスは " のみを出力できますtrue" または "false" であり、他の出力を持つことはできません addMethod: 名前、メソッド、メッセージ
カスタム検証メソッド


// 2 バイトの漢字
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
var length = 値.長さ;
for(var i = 0; i if(値.charCodeAt(i) > 127){
長さ ;
}
return this.optional(element) | ( length >= param[0] && length
}, $.validator.format("入力された値が {0}-{1} バイト以内であること (漢字 1 文字は 2 バイトとしてカウントされます)"));
// 郵便番号検証
jQuery.validator.addMethod("isZipCode", function(値、要素) {
var tel = / ^[0-9]{6}$/;
return this.optional(element) || (tel.test(value)); "郵便番号を正しく入力してください");





コードをコピー
コードは次のとおりです:

ラジオとチェックボックスと選択の検証では、いずれかを選択する必要があります

チェックボックスの必須は、選択する必要があることを意味します
チェックボックスの minlength は、選択する必要がある項目の最小数を示します。 maxlength は、選択する必要がある項目の最大数を示します。 rangelength:[2,3] は、選択された数値範囲を表します。


in select は、選択された値を空にすることはできないことを意味します


コードは次のとおりです:
ラジオ、チェックボックス、および選択 必須とは、ラジオが < ;input type="radio" id="gender_♀" value="f" name="gender"/>チェックボックスが必須であることを意味します選択する必要があります チェックボックスの minlength は、最小数を示します。を選択する必要があり、maxlength は選択された項目の最大数を示し、rangelength:[2,3] は選択された項目の範囲を示します。
🎜>select で必須とは、選択した値を空にすることはできないことを意味します
>select の minlength は選択された項目の最小数を表し、maxlength は最大数を表します。選択された数値、および rangelength:[2,3] は選択された数値範囲を表します




陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),