[解決済み] jQuery Validation プラグイン:指定した送信ボタンのバリデーションを無効にする
質問
Jörn Zaeffereの優れたjQuery Validationプラグインで検証している(一部はカスタム検証のためにメソッドを追加した)複数のフィールドを持つフォームを持っています。指定した送信コントロールでバリデーションを回避するにはどうしたらよいでしょうか(言い換えれば、ある送信入力でバリデーションを発生させ、他の入力ではバリデーションを発生させない)?これは、標準的なASP.NETバリデータコントロールのValidationGroupsに似ています。
私の状況
ASP.NET WebFormsとのことですが、それは無視していただいて結構です。言い換えれば、フォームが送信されると、バリデーションが発生しますが、"required"のメッセージが表示されるのではなく、"recommendation"が表示され、「次のフィールドを見逃しています... とにかく続けますか」というような内容が書かれています。このボタンコントロールのフォームの.validate()を回避して投稿するにはどうしたらよいでしょうか?
の家の売買のサンプルは http://jquery.bassistance.de/validate/demo/multipart/ は、前のリンクをヒットさせるためにこれを可能にしますが、それはカスタムメソッドを作成し、それをバリデータに追加することによって行います。私は、すでにバリデーションプラグインにある機能と重複するカスタムメソッドを作成する必要がないことを望みます。
以下は、今あるすぐに適用できるスクリプトを短縮したものです。
var container = $("#<%= Form.ClientID %> div.validationSuggestion");
$('#<%= Form.ClientID %>').validate({
errorContainer: container,
errorLabelContainer: $("ul",container),
rules: {
<%= YesNo.UniqueID %>: { required: true },
<%= ShortText.UniqueID %>: { required: true } // etc.
},
messages: {
<%= YesNo.UniqueID %>: 'A message.',
<%= ShortText.UniqueID %>: 'Another message.' // etc.
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass("valid");
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass("valid");
},
wrapper: 'li'
});
解決方法は?
のCSSクラスを追加することができます。
cancel
を送信ボタンに設定すると、バリデーションが抑止されます。
例えば
<input class="cancel" type="submit" value="Save" />
この機能に関するjQuery Validatorのドキュメントはこちらをご覧ください。 送信時のバリデーションをスキップする
エディテージ :
上記の手法は非推奨となり、代わりに
formnovalidate
属性を持つ。
<input formnovalidate="formnovalidate" type="submit" value="Save" />
関連
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法
-
[解決済み] jQuery AJAX送信フォーム
-
[解決済み] jQueryの送信ボタンの無効化・有効化
-
[解決済み] jQuery.ajaxでmultipart/formdataを送信する。
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] jQueryの検証:デフォルトのエラーメッセージを変更する
-
[解決済み】jQueryがリクエストボディに有効なjsonを投稿する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Uncaught TypeError: 未定義のプロパティ 'length' を読み取れませんでした。
-
[解決済み] jquery mobileでページ中央のグリッド表示
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
-
[解決済み] jQueryで複数のCSS属性を定義するには?
-
[解決済み] jQueryがどのバージョンで読み込まれているかを確認するには?
-
[解決済み] jQueryの複数要素の同一クリックイベント
-
[解決済み] jQueryを使用して配列から特定の値を削除する方法
-
[解決済み] ボタンやリンクを無効化・有効化する最も簡単な方法とは(jQuery + Bootstrap)
-
[解決済み] jquery input select all on focus