2016-10-02 45 views
-1

で無効な場合は提出からフォームを防ぐこんにちは、私はjQueryのは、しかし、私は理由コード内の制限の特定のCSSクラスに検証しようとしています検証使用しています、私はこれを試してみました:はcssクラス

$.validator.setDefaults({ 
     submitHandler: function (form) { 
      alert('submitted'); 
      form.submit(); 
     } 
    }); 

    $('#shopLeft .cart').validate(); 


    $('.addon-wrap-7479-basics-0 .addon-custom').rules('add', { 
     required: true, 
     minlength: 2, 
     maxlength: 20, 
    }); 


    $('.addon-wrap-7479-description-2 .addon-custom-textarea').rules('add', { 
     required: true, 
     minlength: 2, 
     maxlength: 20, 
    }); 


    $('.addon-wrap-7479-upload-3 .addon-custom').rules('add', { 
     required: true, 
     minlength: 2, 
     maxlength: 20, 
    }); 


    $('.product-addon-nameproject .addon-custom').rules('add', { 
     required: true 
    }); 

誰でも助けることができます。

+0

あなたが試した問題は何ですか?フォームの関連するHTMLマークアップはどこですか?表示されているコードの構文には何も問題はありません。したがって、これをよりよく説明しないとできないことはありません。 – Sparky

+0

jQueryセレクタが壊れていると思いますが、HTMLマークアップが表示されていないかどうかはわかりません。 – Sparky

答えて

1

jQuery Validateプラグインのメソッドは、セレクタに複数の要素が含まれている場合は、の最初の一致した要素でのみ機能します。

コード内に多くのclassセレクタが表示されているので、.validate().rules()のインスタンスごとに複数の要素をターゲットに設定することをお勧めします。その場合は、jQuery .each()も必要です。

// more than one form with class="cart" 
$('#shopLeft .cart').each(function() { // more than one form with class="cart" 
    $(this).validate(); 
}); 


// more than one field with class="addon-custom" within a class="addon-wrap-7479-basics-0" 
$('.addon-wrap-7479-basics-0 .addon-custom').each() { 
    $(this).rules('add', { 
     required: true, 
     minlength: 2, 
     maxlength: 20, 
    }); 
});