1

チェックボックスがチェックされていない場合、いくつかの要素が必要なフォームを検証しようとしています。

フォームを送信すると、ルールが実行されます。次に、チェックボックスをオンにします。検証ルールは既に実行されています。チェックボックスがオンになっている場合でも、検証ルールは引き続き適用され、フィールドに入力するまでフォームは送信されません。 。

私が望んでいたのは、チェックボックスでルールのオンとオフを切り替えることができるということでした。どんな助けでも大歓迎です。

var validator = $(".cmxform").validate({
                rules: {
                    txtAddress1: { 
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } },
                    txtAddress2: {
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } }
                }
            });
4

1 に答える 1

2

required( dependency-expression )ルールを使用する

var validator = $(".cmxform").validate({
  rules: {
    txtAddress1: {
      required: "#chkCurrentEmployer:checked"
    },
    txtAddress2: {
      required: '#chkCurrentEmployer:checked'
    }
  }
});

ここのドキュメント:http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

これらの関数が次のようなものを返す場合も、コードが機能する可能性があります

return $('#chkCurrentEmployer').attr('checked');
于 2010-02-01T15:39:45.867 に答える