jQueryの検証
フォーム認証のためのjQueryの検証プラグインは、アプリケーションのニーズを満たすためにカスタマイズオプションの多くを提供しながら、クライアント側のフォーム検証が容易可能にする強力な機能を提供します。 APIの製造のためのユーザー定義メソッドを提供しながら、プラグインは、URLやメール認証などの検証方法の有用なセットにバンドルされています。 すべてのデフォルトのエラーメッセージとして英語を使用する方法を結合し、37他の言語に翻訳されています。
プラグインが書かれており、ジョーンZaeffererによって維持され、彼はjQueryのチームのメンバーであるjQueryのUIチームのリード開発者はQUnitの保守要員です。 プラグインは、2006年早期にjQueryは既に現れ始めており、以降に更新されました。 現在のバージョンは1.14.0です。
アクセスjQueryの公式サイトを検証 jQueryの検証プラグインの最新バージョンをダウンロードします。
バージョン1.14.0のダウンロードこのチュートリアル: http://static.w3big.com/download/jquery-validation-1.14.0.zip
(このチュートリアルのCDNを使用して)インポートJSライブラリ
<script src="http://static.w3big.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script> <script src="http://static.w3big.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
デフォルトのバリデーションルール
いいえ。 | ルール | 説明 |
---|---|---|
1 | 必須:○ | あなたは、フィールドを入力する必要があります。 |
2 | リモート:「check.php " | Ajaxのメソッド呼び出しを使用すると、入力値を検証check.php。 |
3 | 電子メール:真 | あなたは正しい電子メール形式を入力する必要があります。 |
4 | URL:真 | あなたは正しいURL形式を入力する必要があります。 |
5 | 日付:真 | あなたは正しい日付形式を入力する必要があります。 IE6日付検証エラー注意。 |
6 | dateISO:真 | 2009-06-23,1998 / 1月22日:次の例のように、正しい日付形式(ISO)を入力する必要があります。 検証しないだけの形式を検証します。 |
7 | 番号:真 | あなたは有効な番号(負の数、小数点以下)を入力する必要があります。 |
8 | 桁:真 | あなたは整数を入力する必要があります。 |
9 | クレジットカード: | あなたは、有効なクレジットカード番号を入力する必要があります。 |
10 | equalTo:「#フィールド」 | 入力値は同じ#FIELDなければなりません。 |
11 | 受け入れます: | 入力文字列は、正当な拡張子(接尾辞アップロードファイル)があります。 |
12 | MAXLENGTH:5 | 入力文字列5の最大長は(漢字は1文字としてカウント)。 |
13 | MINLENGTH:10 | 入力文字列の最小の長さは10(文字は1文字としてカウント)です。 |
14 | rangelength:[5,10] | 入力文字列の長さは、(A漢字の文字カウント)5と10の間でなければなりません。 |
15 | 範囲:[5,10] | 値を入力すると、5と10の間でなければなりません。 |
16 | 最大:5 | 5以下の値を入力します。 |
17 | 分: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 ).", 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の検証は、ダウンロードパッケージのdist /ローカリゼーション/ messages_zh.jsに位置ヒント中国の情報パケットを、提供し、次のように読み取ります。
(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, 中文 (Zhongwén), 汉语, 漢語) */ $.extend($.validator.messages, { required: "这是必填字段", remote: "请修正此字段", email: "请输入有效的电子邮件地址", url: "请输入有效的网址", date: "请输入有效的日期", dateISO: "请输入有效的日期 (YYYY-MM-DD)", number: "请输入有效的数字", digits: "只能输入数字", creditcard: "请输入有效的信用卡号码", equalTo: "你的输入不相同", extension: "请输入有效的后缀", 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} 的数值") }); }));
あなたは、ページに導入された情報ファイルのdist /ローカリゼーション/ messages_zh.jsをローカライズすることができます。
<script src="http://static.w3big.com/assets/jquery-validation-1.14.0/dist/localization/messages_zh.js"></script>
使用
1、検証ルール書か制御
<script src="http://static.w3big.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script> <script src="http://static.w3big.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script> <script src="http://static.w3big.com/assets/jquery-validation-1.14.0/dist/localization/messages_zh.js"></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 (必需, 最小两个字母)</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、検証ルール書かれたjsのコード
$().ready(function() { // 在键盘按下并释放及提交后验证提交表单 $("#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: "请输入您的名字", lastname: "请输入您的姓氏", username: { required: "请输入用户名", minlength: "用户名必需由两个字母组成" }, password: { required: "请输入密码", minlength: "密码长度不能小于 5 个字母" }, confirm_password: { required: "请输入密码", minlength: "密码长度不能小于 5 个字母", equalTo: "两次密码输入不一致" }, email: "请输入一个正确的邮箱", agree: "请接受我们的声明", topic: "请选择两个主题" } });
コントロールでのメッセージは、メッセージがない場合、デフォルトの情報を使用します
<form class="cmxform" id="signupForm" method="get" action=""> <fieldset> <legend>验证完整的表单</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">验证密码</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">请同意我们的声明</label> <input type="checkbox" class="checkbox" id="agree" name="agree"> </p> <p> <label for="newsletter">我乐意接收新信息</label> <input type="checkbox" class="checkbox" id="newsletter" name="newsletter"> </p> <fieldset id="newsletter_topics"> <legend>主题 (至少选择两个) - 注意:如果没有勾选“我乐意接收新信息”以下选项会隐藏,但我们这里作为演示让它可见</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>
必要:真の値をする必要があります。
必要: "#aa:確認された「真の表現であり、あなたは確認する必要があります。
必要:関数(){} trueを返す、検証の必要性を表明しました。
形で一般的にバックで使用される2つは、要素を埋める埋めるかないようにする必要があります。
問題への一般的な方法と注意
1、そうでなければデフォルトはSUBMIT置き換えます
$().ready(function() { $("#signupForm").validate({ submitHandler:function(form){ alert("提交事件!"); form.submit(); } }); });
AJAXを使用する方法
$(".selector").validate({ submitHandler: function(form) { $(form).ajaxSubmit(); } })
デフォルト値を設定することができ、次のように言葉で表現検証:
$.validator.setDefaults({ submitHandler: function(form) { alert("提交事件!");form.submit(); } });
フォームを送信したい場合は、(form.submitを使用する必要があります)、代わりに$(フォーム).submit()の。
2、デバッグは、確認のみ、フォームを送信されていません
このパラメータがtrueの場合、フォームが送信されていない、唯一のチェックが行わデバッグするとき、それは非常に便利です。
$().ready(function() { $("#signupForm").validate({ debug:true }); });
ページが複数のフォームがデバッグに設定したい持っている場合は、使用します。
$.validator.setDefaults({ debug: true })
3、無視:特定の要素を無視検証されません
ignore: ".ignore"
4.表示されたエラーメッセージの場所を変更
errorPlacement:Callback
見当違いの場所を示す、デフォルトは次のとおりです。error.appendTo(element.parent());それは、認証要素の背後に誤ったメッセージです。
errorPlacement: function(error, element) { error.appendTo(element.parent()); }
例
<p>将错误信息放在 label 元素后并使用 span 元素包裹它</p> <form method="get" class="cmxform" id="form1" action=""> <fieldset> <legend>Login Form</legend> <p> <label for="user">Username</label> <input id="user" name="user" required minlength="3"> </p> <p> <label for="password">Password</label> <input id="password" type="password" maxlength="12" name="password" required minlength="5"> </p> <p> <input class="submit" type="submit" value="Login"> </p> </fieldset> </form>
コードの役割は次のとおりです。チェックボックスがのコンテンツに表示されている場合は無線は、<TD> </ TD>に表示されている場合は通常の状況でエラーメッセージが<TDクラス= "ステータス"> </ TD>に表示されます背後にあります。
参数 | 类型 | 描述 | 默认值 |
---|---|---|---|
errorClass | String | 指定错误提示的 css 类名,可以自定义错误提示的样式。 | "error" |
errorElement | String | 用什么标签标记错误,默认是 label,可以改成 em。 | "label" |
errorContainer | Selector | 显示或者隐藏验证信息,可以自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏,用处不大。 errorContainer: "#messageBox1, #messageBox2" |
|
errorLabelContainer | Selector | 把错误信息统一放在一个容器里面。 | |
wrapper | String | 用什么标签再把上边的 errorELement 包起来。 |
通常、同時にこれらの3つの属性は、コンテナ内の表示にすべてのエラー関数を達成するために、そして何の情報は自動的に非表示にされていません。
errorContainer: "div.error", errorLabelContainer: $("#signupForm div.error"), wrapper: "li"
5、表示されるエラーメッセージのスタイルを変更します
スタイルのエラーを設定するには、システムが検証文書のスタイルを維持するように設計validation.cssを、確立している、アイコンが表示されて増やすことができます。
input.error {ボーダー:1pxの固体赤;} label.error { 背景:のURL( "./デモ/画像/ unchecked.gif」)無リピート0PXの0PX。 パディング左:16pxに; パディング底:2ピクセル; フォント重量:太字; 色:#のEA5200。 } {label.checked 背景:のURL( "./デモ/画像/ checked.gif」)無リピート0PXの0PX。 }
図6に示すように、各フィールドには、機能を実行することによって確認されます
成功:文字列、コールバック
cssクラスとしてだけでなく、機能で処理される文字列が続く場合は、確認後の操作によってその要素を確認します。
成功:関数(ラベル){ //設定&NBSPは、IE用のテキストとして label.html( "&NBSP;")。addClass( "にチェック"); //label.addClass("valid").text("Ok! ") }
<スタイル> label.valid {} </ style>のCSSスタイルで定義された要素を検証するために、「有効」を追加します。
成功:「有効」
7、トリガーの検証を変更
以下はブール値ですが、あなたはfalseにする場合に限り、推奨、そうでない場合はフリーズは付け加えました。
触发方式 | 类型 | 描述 | 默认值 |
---|---|---|---|
onsubmit | Boolean | 提交时验证。设置为 false 就用其他方法去验证。 | true |
onfocusout | Boolean | 失去焦点时验证(不包括复选框/单选按钮)。 | true |
onkeyup | Boolean | 在 keyup 时验证。 | true |
onclick | Boolean | 在点击复选框和单选按钮时验证。 | true |
focusInvalid | Boolean | 提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点。 | true |
focusCleanup | Boolean | 如果是 true 那么当未通过验证的元素获得焦点时,移除错误提示。避免和 focusInvalid 一起用。 | false |
//)(フォーム$をリセットします。レディ(関数(){ するvarバリ= $( "#のsignupForm」)。検証({ submitHandler:機能(フォーム){ 警告( "提出"); form.submit()。 } }); $( "#リセット」)。(関数(){をクリックします validator.resetForm()。 }); });
8、非同期検証
リモート:URL
AJAXを使用して認証する方法は、他の値を提出する必要があれば、あなたはデータオプションを使用することができ、リモートアドレス検証に現在のデフォルト値に提出しました。
リモート:「チェックインemail.php」
リモート:{ URL:「-email.phpをチェック "、//スプーラタイプ:"ポスト "、//データ送信モードのdataType:" jsonの "、//は、データ形式のデータ受信:{ユーザー名//データが渡される:関数( ){ $( "#ユーザ名を")のval()を返します; } } }
リモートアドレス出力のみ "true"または "false"は、他の出力を持つことができません。
9、カスタム検証を追加します
addMethod:名、メソッド、メッセージ
カスタム認証方法
//文字2バイトjQuery.validator.addMethod(「byteRangeLength」、関数(値、要素、のparam){ VAR長= value.length。 以下のために(VAR I = 0; iはvalue.lengthを<;私は++){ 場合(value.charCodeAt(ⅰ)> 127){ 長++; } } || this.optional(要素)を返す(長さ> =のparam [0] &&長さ<= PARAM [1]); }、$の.validator.format( "値は{0}に入力されていることを確認します - {1}バイトの間(1バイト文字が2を数えます)")); //郵便コード検証jQuery.validator.addMethod(「isZipCode」、関数(値、要素){ するvar TEL = / ^ [0-9] {6} $ /; || this.optional(要素)を返す(tel.test(値)); }) "正しい郵便番号を記入してください";
注:追加の-methods.jsファイルを追加したり、jquery.validate.jsファイルを追加します。一般的に、追加の-methods.jsファイルに書かれた勧告。
注:messages_cn.jsファイルを追加:isZipCodeを: "テキスト、文字、数字、およびアンダースコアを含めることができます。」追加-methods.jsファイル参照を追加するに呼び出す前に。
10、ラジオ、チェックボックス、検証を選択
ラジオは、必要な表現を選択する必要があります。
<入力タイプ必要= "ラジオ"のid = "gender_male"値= "M"名前= "性別" /> <入力タイプ= "ラジオ"のid = "gender_female"値= "F"名前= "性別" />
チェックボックスは、必要な表現を選択する必要があります。
<入力タイプ= "チェックボックス"クラス= "チェックボックス" ID = "同意"名前=必要な "同意" />
チェックしなければならないMINLENGTHチェックボックスの最小数は、MAXLENGTHが選択され、rangelengthの最大数を表し:[2,3]は、選択した範囲の数を表します。
<入力タイプ= "チェックボックス"クラス= "チェックボックス" ID = "spam_email"値= "メール"名前= "スパム[]"必要MINLENGTH = "2" /> <入力タイプ= "チェックボックス"クラス= "チェックボックス" ID = "spam_phone"値= "電話"名前= "スパム[]" /> <入力タイプ= "チェックボックス"クラス= "チェックボックス" ID = "spam_mail"値= "メール"名前= "スパム[]" />
空にすることはできません選択した値を示す必要]を選択します。
<選択のid = "ジャングル"名前= "ジャングル"タイトル= "何かを選択してください!"必須> <オプション値= ""> </オプション> <オプション値= "1">ブガ</オプション> <オプション値= "2">バガ</オプション> <オプション値= "3">大井</オプション> </選択>
[2,3]選択した間隔の数を表す:選択した表現MINLENGTH最小数の(選択の複数選択)を選択し、MAXLENGTHは、選択され、rangelengthの最大数を表します。
<選択のid = "フルーツ"名前= "フルーツ"タイトル= "少なくとも二つの果実を選択してください"クラス= "{必要:真、MINLENGTH:2}"複数= "複数"> <オプション値= "B">バナナ</オプション> <オプション値= "">アップル</オプション> <オプション値= "P">ピーチ</オプション> <オプション値= "トン">タートル</オプション> </選択>
jQuery.validate中国のAPI
名称 | 返回类型 | 描述 |
---|---|---|
validate(options) | Validator | 验证所选的 FORM。 |
valid() | Boolean | 检查是否验证通过。 |
rules() | Options | 返回元素的验证规则。 |
rules("add",rules) | Options | 增加验证规则。 |
rules("remove",rules) | Options | 删除验证规则。 |
removeAttrs(attributes) | Options | 删除特殊属性并且返回它们。 |
自定义选择器 | ||
:blank | Validator | 没有值的筛选器。 |
:filled | Array <Element> | 有值的筛选器。 |
:unchecked | Array <Element> | 没选择的元素的筛选器。 |
实用工具 | ||
jQuery.format(template,argument,argumentN...) | String | 用参数代替模板中的 {n}。 |
バリデータ
この方法は、バリデータオブジェクトを返す検証します。 多くの方法が較正手順をトリガまたはフォームの内容を変更するために使用することができるバリデータオブジェクトは、いくつかの一般的に使用される方法は、以下に記載されていました。
名称 | 返回类型 | 描述 |
---|---|---|
form() | Boolean | 验证 form 返回成功还是失败。 |
element(element) | Boolean | 验证单个元素是成功还是失败。 |
resetForm() | undefined | 把前面验证的 FORM 恢复到验证前原来的状态。 |
showErrors(errors) | undefined | 显示特定的错误信息。 |
Validator 函数 | ||
setDefaults(defaults) | undefined | 改变默认的设置。 |
addMethod(name,method,message) | undefined | 添加一个新的验证方法。必须包括一个独一无二的名字,一个 JAVASCRIPT 的方法和一个默认的信息。 |
addClassRules(name,rules) | undefined | 增加组合验证类型,在一个类里面用多种验证方法时比较有用。 |
addClassRules(rules) | undefined | 增加组合验证类型,在一个类里面用多种验证方法时比较有用。这个是同时加多个验证方法。 |
ビルトイン認証
名称 | 返回类型 | 描述 |
---|---|---|
required() | Boolean | 必填验证元素。 |
required(dependency-expression) | Boolean | 必填元素依赖于表达式的结果。 |
required(dependency-callback) | Boolean | 必填元素依赖于回调函数的结果。 |
remote(url) | Boolean | 请求远程校验。url 通常是一个远程调用方法。 |
minlength(length) | Boolean | 设置最小长度。 |
maxlength(length) | Boolean | 设置最大长度。 |
rangelength(range) | Boolean | 设置一个长度范围 [min,max]。 |
min(value) | Boolean | 设置最小值。 |
max(value) | Boolean | 设置最大值。 |
email() | Boolean | 验证电子邮箱格式。 |
range(range) | Boolean | 设置值的范围。 |
url() | Boolean | 验证 URL 格式。 |
date() | Boolean | 验证日期格式(类似 30/30/2008 的格式,不验证日期准确性只验证格式)。 |
dateISO() | Boolean | 验证 ISO 类型的日期格式。 |
dateDE() | Boolean | 验证德式的日期格式(29.04.1994 或 1.1.2006)。 |
number() | Boolean | 验证十进制数字(包括小数的)。 |
digits() | Boolean | 验证整数。 |
creditcard() | Boolean | 验证信用卡号。 |
accept(extension) | Boolean | 验证相同后缀名的字符串。 |
equalTo(other) | Boolean | 验证两个输入框的内容是否相同。 |
phoneUS() | Boolean | 验证美式的电话号码。 |
省略可能です)(検証
描述 | 代码 |
---|---|
debug:进行调试模式(表单不提交)。 |
$(".selector").validate ({ debug:true }) |
把调试设置为默认。 |
$.validator.setDefaults({ debug:true }) |
submitHandler:通过验证后运行的函数,里面要加上表单提交的函数,否则表单不会提交。 |
$(".selector").validate({ submitHandler:function(form) { $(form).ajaxSubmit(); } }) |
ignore:对某些元素不进行验证。 |
$("#myform").validate({ ignore:".ignore" }) |
rules:自定义规则,key:value 的形式,key 是要验证的元素,value 可以是字符串或对象。 |
$(".selector").validate({ rules:{ name:"required", email:{ required:true, email:true } } }) |
messages:自定义的提示信息,key:value 的形式,key 是要验证的元素,value 可以是字符串或函数。 |
$(".selector").validate({ rules:{ name:"required", email:{ required:true, email:true } }, messages:{ name:"Name不能为空", email:{ required:"E-mail不能为空", email:"E-mail地址不正确" } } }) |
groups:对一组元素的验证,用一个错误提示,用 errorPlacement 控制把出错信息放在哪里。 |
$("#myform").validate({ groups:{ username:"fname lname" }, errorPlacement:function(error,element) { if (element.attr("name") == "fname" || element.attr("name") == "lname") error.insertAfter("#lastname"); else error.insertAfter(element); }, debug:true }) |
OnSubmit:类型 Boolean,默认 true,指定是否提交时验证。 |
$(".selector").validate({ onsubmit:false }) |
onfocusout:类型 Boolean,默认 true,指定是否在获取焦点时验证。 |
$(".selector").validate({ onfocusout:false }) |
onkeyup:类型 Boolean,默认 true,指定是否在敲击键盘时验证。 |
$(".selector").validate({ onkeyup:false }) |
onclick:类型 Boolean,默认 true,指定是否在鼠标点击时验证(一般验证 checkbox、radiobox)。 |
$(".selector").validate({ onclick:false }) |
focusInvalid:类型 Boolean,默认 true。提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点。 |
$(".selector").validate({ focusInvalid:false }) |
focusCleanup:类型 Boolean,默认 false。当未通过验证的元素获得焦点时,移除错误提示(避免和 focusInvalid 一起使用)。 |
$(".selector").validate({ focusCleanup:true }) |
errorClass:类型 String,默认 "error"。指定错误提示的 css 类名,可以自定义错误提示的样式。 |
$(".selector").validate({ errorClass:"invalid" }) |
errorElement:类型 String,默认 "label"。指定使用什么标签标记错误。 |
$(".selector").validate errorElement:"em" }) |
wrapper:类型 String,指定使用什么标签再把上边的 errorELement 包起来。 |
$(".selector").validate({ wrapper:"li" }) |
errorLabelContainer:类型 Selector,把错误信息统一放在一个容器里面。 |
$("#myform").validate({ errorLabelContainer:"#messageBox", wrapper:"li", submitHandler:function() { alert("Submitted!") } }) |
showErrors:跟一个函数,可以显示总共有多少个未通过验证的元素。 |
$(".selector").validate({ showErrors:function(errorMap,errorList) { $("#summary").html("Your form contains " + this.numberOfInvalids() + " errors,see details below."); this.defaultShowErrors(); } }) |
errorPlacement:跟一个函数,可以自定义错误放到哪里。 |
$("#myform").validate({ errorPlacement:function(error,element) { error.appendTo(element.parent("td").next("td")); }, debug:true }) |
success:要验证的元素通过验证后的动作,如果跟一个字符串,会当作一个 css 类,也可跟一个函数。 |
$("#myform").validate({ success:"valid", submitHandler:function() { alert("Submitted!") } }) |
highlight:可以给未通过验证的元素加效果、闪烁等。 |
addMethod(名、メソッド、メッセージ)方法
パラメータ名は、addメソッドの名前です。
パラメータ法は、三つのパラメータ(値、要素、param)はとる関数です。
値は、要素が要素自体の要素の値である、paramがパラメータです。
私たちは、組み込みの認証方法の検証方法を除いて追加するaddMethodを使用することができます。 たとえば、文字のみを失う、範囲は次のように書かれ、AFで、フィールドがあります:
$ .validator.addMethod(「AF」、関数(値、要素、paramsは){ 場合(value.length> 1){ falseを返します。 } 場合(値> = paramsは[0] &&値<= paramsは[1]){ trueを返します。 }エルス{ falseを返します。 } }、)」の文字と、AFでなければなりません」。
ルールで記述されたフォームフィールドのid = "ユーザ名"、がある場合:
ユーザ名:{ AF:[ "A"、 "F"] }
AddMethod最初のパラメータは、その後、AFで、追加する認証方式の名前です。
三番目のパラメータをaddMethod、カスタムエラーメッセージは、ここでは示唆している: "手紙、およびAFでなければなりません」。
addMethod 2番目のパラメータは関数であり、これは、検証のこの方法を使用するという決定の文言より重要です。
複数のパラメータはカンマで区切られ、[]内に記述されている場合の「a」、これは、一意のパラメータである:一つのパラメータのみ場合、このようなAFのように、直接書き込みます。
メタ文字列モード
$( "#のMYFORM」)。検証({ メタ:「検証」、 submitHandler:関数(){ 警告(「提出! ")} })
ます。<script type = "text / javascriptの" SRC = "jsファイル/ jquery.metadata.js"> </スクリプト> ます。<script type = "text / javascriptの" SRC = "jsファイル/ jquery.validate.js"> </スクリプト> <フォームID = "あるmyForm"> <input type = "text" 名前= "メール"クラス= "{検証:{必要:trueの場合、電子メール:真}}" /> <入力タイプは、= "提出します" 値= "送信" /> </フォーム>
例のデモ
架空の例
- エラーメッセージコンテナ
- データ要素としてカスタムメッセージ
- ラジオ(ラジオボタン)、チェックボックス(ボタンをチェックしてください)と選択します(ドロップダウンボックス)
- インタラクティブフォーム(フォーム)とプラグ(AJAXの提出)
- カスタムメソッドとメッセージ表示
- ダイナミックフォーム
- jQueryのUI ThemeRollerのカスタムフォームのスタイルを使用します
- TinyMCEは-軽量なブラウザベースのWYSIWYGエディタ
- ファイルの入力ボックス
- jQueryのモバイルは、フォーム認証