jQuery Validate検証フレームワークの詳細
17832 ワード
jQuery Validateプラグインはフォームに強力な検証機能を提供し、クライアントフォームの検証をより簡単にすると同時に、アプリケーションのさまざまなニーズを満たすために多くのカスタマイズオプションを提供します.
一、jsライブラリのインポート
:Webプロジェクトのルートパスを します.
、デフォルト
、デフォルトのヒント
が な は、jsコードに の を します.
このファイルをmessages_に する を します.cn.jsでは、ページに
、
1、metadata 、 をコントロールに く
注意:
2、検査規則をjsコードに書く
五、常用方法及び注意問題
1、デフォルトのsubmitを他の方法で置き換える
フォームを発行するには、
2、debug、検証のみフォームを提出しない
このパラメータが
1つのページに複数のフォームがdebugに設定されている場合は、次の操作を行います.
3、ignore:一部の要素を無視して検証しない
4、エラーメッセージ表示位置の変更
エラー配置の場所を指定します.デフォルトでは、
≪インスタンス|Instance|emdw≫
コードの役割は、一般的に
通常、この3つのプロパティを同時に使用すると、1つのコンテナにすべてのエラーメッセージを表示する機能が実現され、情報がない場合に自動的に非表示になります.
5、エラーメッセージ表示のスタイルを変更する
エラーメッセージのスタイルを設定し、アイコン表示を追加できます.このシステムでは、チェックファイルのメンテナンスに特化した
6、各フィールド検証は実行関数を通過する
検証する要素は検証後のアクションによって、文字列が付いている場合はcssクラスとして、関数としても使用できます.
7、検証のトリガ方式の修正
以下はboolean型ですが、falseに変更しない限り、むやみに追加しないことをお勧めします.
8、非同期検証
ajax方式で検証すると、デフォルトでは現在の検証の値がリモート・アドレスにコミットされます.他の値をコミットする必要がある場合はdataオプションを使用します.
例1:
例2:
リモートアドレスは
9、カスタムチェックの追加
カスタム認証方法 に一般的に記載する. 10、radioとcheckbox、selectの検証
jQuery Validate|菜鳥教程:http://www.runoob.com/jquery/jquery-plugin-validate.html
一、jsライブラリのインポート
:Webプロジェクトのルートパスを します.
、デフォルト
(1)required:true
(2)remote:"remote-valid.jsp" ajax remote-valid.jsp
(3)email:true
(4)url:true
(5)date:true , ie6 ,
(6)dateISO:true (ISO), :2009-06-23,1998/01/22 ,
(7)number:true ( , )
(8)digits:true
(9)creditcard:true
(10)equalTo:"#password" #password
(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 a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
dateDE: "Bitte geben Sie ein gmltiges Datum ein.",
number: "Please enter a valid number.",
numberDE: "Bitte geben Sie eine Nummer ein.",
digits: "Please enter only digits",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
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コードに の を します.
$.extend($.validator.messages, {
required: " ",
remote: " ",
email: " ",
url: " ",
date: " ",
dateISO: " (ISO).",
number: " ",
digits: " ",
creditcard: " ",
equalTo: " ",
accept: " ",
maxlength: $.validator.format(" {0} "),
minlength: $.validator.format(" {0} "),
rangelength: $.validator.format(" {0} {1} "),
range: $.validator.format(" {0} {1} "),
max: $.validator.format(" {0} "),
min: $.validator.format(" {0} ")
});
このファイルをmessages_に する を します.cn.jsでは、ページに
、
1、metadata 、 をコントロールに く
jQuery Validate -metadata
$(function(){
$("#myform").validate();
});
注意:
class="{}"
の方法を使用するには、パッケージを導入する必要があります:jquery.metadata.js
;提示内容を修正するには、以下の方法を用いることができる:class="{required:true,minlength:5,messages:{required:' '}}"
;equalTo
キーワードを使用する場合は、後の内容に引用符を付けなければなりません.次のコード:class="{required:true,minlength:5,equalTo:'#password'}"
です.2、検査規則をjsコードに書く
jQuery Validate
$(function(){
var validate = $("#myform").validate({
debug: true, // submit
//errorClass: "label.error", // :error
focusInvalid: false, // false , ,
onkeyup: false,
submitHandler: function(form){ // , , :form
alert(" ");
form.submit(); //
},
rules:{
myname:{
required:true
},
email:{
required:true,
email:true
},
password:{
required:true,
rangelength:[3,10]
},
confirm_password:{
equalTo:"#password"
}
},
messages:{
myname:{
required:" "
},
email:{
required:" ",
email:"E-Mail "
},
password:{
required: " ",
rangelength: $.format(" :{0}, :{1}。")
},
confirm_password:{
equalTo:" "
}
}
});
});
五、常用方法及び注意問題
1、デフォルトのsubmitを他の方法で置き換える
$(function(){
$("#signupForm").validate({
submitHandler:function(form){
alert("submit!");
form.submit();
}
});
});
validate
のデフォルト値は次のように設定できます.$.validator.setDefaults({
submitHandler: function(form) {
alert("submit!");
form.submit();
}
});
フォームを発行するには、
form.submit()
を使用し、$(form).submit()
を使用しないでください.2、debug、検証のみフォームを提出しない
このパラメータが
true
の場合、フォームはコミットされず、チェックのみが行われ、デバッグ時に便利です.$(function(){
$("#signupForm").validate({
debug:true
});
});
1つのページに複数のフォームがdebugに設定されている場合は、次の操作を行います.
$.validator.setDefaults({
debug: true
})
3、ignore:一部の要素を無視して検証しない
ignore: ".ignore"
4、エラーメッセージ表示位置の変更
errorPlacement:Callback
Default
:エラー情報を検証の要素の後ろに置くエラー配置の場所を指定します.デフォルトでは、
error.appendTo(element.parent());
はエラー情報を検証要素の後ろに配置します.errorPlacement: function(error, element) {
error.appendTo(element.parent());
}
≪インスタンス|Instance|emdw≫
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());
}
コードの役割は、一般的に
にエラー情報を表示し、radioが
に表示されている場合、checkboxがコンテンツの後ろに表示されている場合です.errorClass:String Default: "error"
:エラーメッセージのcssクラス名を指定し、エラーメッセージのスタイルをカスタマイズできます.errorElement:String Default: "label"
:どんなラベルでエラーをマークしますか.デフォルトはlabelです.emに変更できます.errorContainer:Selector
:検証情報を表示または非表示にすることで、エラー情報が発生した場合にコンテナ属性を表示にすることを自動的に実現でき、エラーがない場合に非表示にすることができ、あまり役に立たないerrorContainer:「#messageBox 1,#messageBox 2」errorLabelContainer:Selector
:エラーメッセージを1つのコンテナに統一します.wrapper:String
:どんなラベルで上のerrorElementを包みますか通常、この3つのプロパティを同時に使用すると、1つのコンテナにすべてのエラーメッセージを表示する機能が実現され、情報がない場合に自動的に非表示になります.
errorContainer: "div.error",
errorLabelContainer: $("#signupForm div.error"),
wrapper: "li"
5、エラーメッセージ表示のスタイルを変更する
エラーメッセージのスタイルを設定し、アイコン表示を追加できます.このシステムでは、チェックファイルのメンテナンスに特化した
validation.css
のスタイルが確立されています.input.error { border: 1px solid red; }
label.error {
background:url("./demo/images/unchecked.gif") no-repeat 0px 0px;
padding-left: 16px;
padding-bottom: 2px;
font-weight: bold;
color: #EA5200;
}
label.checked {
background:url("./demo/images/checked.gif") no-repeat 0px 0px;
}
6、各フィールド検証は実行関数を通過する
success:String,Callback
検証する要素は検証後のアクションによって、文字列が付いている場合はcssクラスとして、関数としても使用できます.
success: function(label) {
// set as text for IE
label.html(" ").addClass("checked");
//label.addClass("valid").text("Ok!")
}
"valid"
を検証要素に追加し、CSSで定義したスタイル
success: "valid"
7、検証のトリガ方式の修正
以下はboolean型ですが、falseに変更しない限り、むやみに追加しないことをお勧めします.
a.onsubmit
:Boolean Default: true . コミット時検証falseのみを設定するには、他の方法で検証します.b.onfocusout
:Boolean Default: true . フォーカスを失うのは検証です(checkboxes/radio buttonsは含まれません)c.onkeyup
:Boolean Default: true . keyupで検証する.d.onclick
:Boolean Default: true . checkboxesとradioクリック時に検証e.focusInvalid
:Boolean Default: true . フォームをコミットすると、検証されていないフォーム(最初のフォームまたはコミット前にフォーカスを取得した検証されていないフォーム)がフォーカスされます.f.focusCleanup
:Boolean Default: false . trueの場合、検証されていない要素がフォーカスを取得した場合、エラー・プロンプトが削除されます.focusInvalidとの併用を避ける8、非同期検証
remote:URL
ajax方式で検証すると、デフォルトでは現在の検証の値がリモート・アドレスにコミットされます.他の値をコミットする必要がある場合はdataオプションを使用します.
例1:
remote: "check-email.php"
例2:
remote: {
url: "check-email.php", //
type: "post", //
dataType: "json", //
data: { //
username: function() {
return $("#username").val();
}
}
}
リモートアドレスは
true
またはfalse
しか出力できず、他の出力は出力できません.9、カスタムチェックの追加
addMethod:name, method, message
カスタム認証方法
//
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(" {0}-{1} ( 2 )")
);
//
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, " ");
additional-methods.js
ファイルに追加するか、jquery.validate.js
追加の推奨事項は、additional-methods.js
ファイルmessages_cn.js
ファイルに追加:isZipCode: "
は、中文字、英字、数字、下線のみを含むことができます.呼び出し前にadditional-methods.js
ファイルへの参照を追加します.1.radio required
2.checkbox required
checkbox minlength ,maxlength ,rangelength:[2,3]
3.select required value
select minlength ( select),maxlength ,rangelength:[2,3]
jQuery Validate|菜鳥教程:http://www.runoob.com/jquery/jquery-plugin-validate.html