1. ホーム
  2. jquery-validate

[解決済み】jQuery Validate - hiddenフィールドのバリデーションを有効にする

2022-04-14 05:01:31

質問

新バージョンのjQuery validation plugin 1.9では、デフォルトで hiddenフィールドのバリデーションは無視されます。 . CKEditorをtextareaの入力フィールドに使っているのですが、フィールドを隠してiframeに置き換えてしまいます。フィールドは存在しますが、隠しフィールドのバリデーションは無効になっています。バリデーションプラグインのバージョン1.8.1では、すべてが期待どおりに動作します。

そこで質問ですが、v1.9のvalidationプラグインでhiddenフィールドのバリデーションを有効にするにはどうしたらいいのでしょうか?

この設定はうまくいきません。

$.validator.setDefaults({ ignore: '' });

解決方法は?

プラグインの作者によると、このプラグインは 引用符なしの角括弧を使用します。 , []

http://bassistance.de/2011/10/07/release-validation-plugin-1-9-0/

リリース Validation Plugin 1.9.0をリリースしました。 もう一つの変更点は、hidden 要素を含むフォームのセットアップを容易にすることです。 デフォルトで無視されるようになりました(オプション "ignore "は ":hidden" がデフォルトになりました)。理論的には、これは既存の を設定します。万が一、実際にそうなってしまった場合は、以下の方法で修正することができます。 無視オプションを"[]"(角括弧で囲んでいない状態)に設定します。 quotes)."

すべてのフォームでこの設定を変更する場合。

$.validator.setDefaults({ 
    ignore: [],
    // any other default options and/or rules
});

(は必須ではありません。 .setDefaults() の中にある。 document.ready 関数)

または特定の1つのフォームのために。

$(document).ready(function() {

    $('#myform').validate({
        ignore: [],
        // any other options and/or rules
    });

});


EDIT :

参照 この回答 一部の隠しフィールドで検証を有効にし、他のフィールドを無視する方法については、こちらをご覧ください。


EDIT 2 :

というコメントを残す前に これは動作しません。 について質問していることに留意してください。 jQuery Validate プラグイン で、彼の質問には 何もない ASP.NET、MVC、または他のMicrosoftフレームワークは、このプラグインの通常の期待される動作を変更することができる方法とは関係ありません. あなたは、Microsoftのフレームワークを使用している場合, jQuery Validateプラグインのデフォルトの機能は、Microsoftのによって上書きされます。 unobtrusive-validation プラグインを使用します。

で苦労している人は unobtrusive-validation プラグインを使用する場合は、代わりにこの回答を参照してください。 https://stackoverflow.com/a/11053251/594235