1

html には、次のような名前のみが異なる 3 つのファイルがありますnumber_1 , number_2, number_3。上記のようなバリデーションを簡潔な js コードで行いたいのですが、うまくいきません。誰でもこの問題について解決できますか?

これは、以下の jquery ルール メソッドを使用して jquery 検証を行いたい HTML です。

    <form id="cc_form" method="post" action="">
    <div id="container">
    <div id="block1">
    CC_number_1 : <input type="text" id="number_1" name="number_1"> <br>
    </div>
    <div id="block2">
    CC_number_2 : <input type="text" id="number_2" name="number_2"> <br>
    </div>
    <div id="block3">
    CC_number_3 : <input type="text" id="number_3" name="number_3"> <br>
    </div>
    </div>
    <input type="submit" value="submit" name="submit">
    </form>

これは、以下のような検証を行うための検証スクリプトです。Jquery ライブラリ ファイル インクルード スクリプトはここには含まれません。したがって、これらのファイルを追加して、以下のように検証を行ってください。

    $("#cc_form").validate({

    rules:{
    [name^='number_']:{
    required:true
    }

    },
    messages:{
    [name^='number_']:{
    required:"Enter number"
    }
    }


    });
    enter code here

html には、次のような名前のみが異なる 3 つのファイルがありますnumber_1 , number_2, number_3。上記のようなバリデーションを簡潔な js コードで行いたいのですが、うまくいきません。誰でもこの問題について解決できますか?

4

2 に答える 2

2

これを試して :-

$(document).ready(function(){
$("#cc_form").validate();
    $("input[id*=number]").each(function() {
        $(this).rules("add", {
            required: true,
            messages: {
                required: "This is required field"
            }
        });
    });
  });

.validate()ドキュメントは優れたチュートリアルであり、ルールを追加する方法.rules("add", option):

指定されたルールを追加し、最初に一致した要素のすべてのルールを返します。親フォームが検証される、つまり$("form").validate()最初に呼び出される必要があります。

Jquery最初にライブラリをロードする必要があることを確認してください。jquery.validate.min.js

于 2013-02-07T12:59:45.597 に答える
0

まず第一に -[name^='number']適切なオブジェクト ラベルではありません - 引用符でカプセル化する必要があります。残念ながら、ルールとメッセージ ラベルは、セレクターではなく特定の要素の ID である必要があるようです。

ここで働くフィドル:http://jsfiddle.net/6nNRD/

于 2013-02-07T13:09:08.313 に答える