jQuery、jQuery Mobile、jQuery Validation プラグインを使用しています
「パスワード」フィールドと「rememberpassword」チェックボックスがあります。
パスワードフィールドが検証された後にのみチェックボックスを有効にしたいと思います。
HTML の 2 つのフィールドを次に示します。
<input type="password" name="password" class="submit required" minlength="6" />
<input type="checkbox" name="rememberpassword" value="remember" />
チェックボックスを有効または無効にするには、jQuery Mobile コマンドを使用します
$('[name=rememberpassword]').checkboxradio( "enable" ); and
$('[name=rememberpassword]').checkboxradio( "disble" );
このコマンドを検証ルールのどこに追加できるかわかりません。
次のように、パスワード フィールドの検証ルールに有効化/無効化コマンドを追加しようとしました。
$(form).validate({
rules: {
password: {
required: {
depends: function(element) {
console.log('In the password depends');
if (!$(element).hasClass('error')) {
$('[name=rememberpassword]').checkboxradio("enable");
} else {
$('[name=rememberpassword]').checkboxradio("disable");
}
return true;
}
}
}
}
});
このアプローチの問題点は、有効なクラスとエラー クラスが要素に追加され、パスワード フィールドに最初のデータが入力された後にのみ検証されるため、チェックボックスが有効なままになることです。
メソッドでフォームまたはパスワードフィールドを検証しようとしました.valid()
が、フィールドに何かが入力されていない限り、これは何もしていないようです。
私は同じことをしようとしました.valid()
が、エラークラスの存在をテストする代わりにパスワードでメソッドを使用しましたが、これはエラーが返されるまで正しく再帰になります。
完全な検証とその結果の再帰をトリガーしないフィールドの有効性を確認する方法が見つかりませんでした。
どんな助けでも大歓迎です。