0

行を動的に作成/削除する MVC アプリケーションに HTML テーブルがあります。ページの保存ボタンをクリックすると、モデルに記載されている JQuery を使用してすべての検証を行いたいだけです。動的に作成されたフィールドを検証するのを手伝ってくれる人はいますか?

var firstName;
    $('#tableId tr:visible').has("td").each(function (row) {
        $(this).find('input,select,checkbox')
            .each(function (col) {
                $ctl = $(this);
                if ($ctl.is('input:text')) {
                    firstName = $ctl.val();
                    $ctl.rules('add', { required: true, messages: { required: 'First Name field is required'} });
                }
            });
    });
    var val = $("#formDealFeeRates").validate();
    val.showErrors();
    alert(val.valid());

ありがとう...

4

1 に答える 1

0

.form()のメソッドを使用して$.validate()、事前に実行する必要なく、特定の時点で検証チェックを実行できます。

これはあまり明確ではないかもしれませんが、本質的には、これを行うのではなく:

var val = $("#formDealFeeRates").validate();
val.showErrors();
alert(val.valid());

次のようなことができます。

$('#tabeId').on('submit', function(e){
    e.preventDefault();
    if ($(this).validate().form())
    {
        //this is valid, run save code here
    }
    else
    {
        //this is not valid. but you don't need to
        //do anything, validate will show the usual error messages.
    }
});

$('form').validate()このようにすると、フォームが送信されるたびにチェックが新たに実行されるため、最初の呼び出しの後に追加されたフィールドが考慮されます。

これが役立つ/意味があることを願っています

ドキュメント: http://docs.jquery.com/Plugins/Validation/Validator/form

于 2012-05-17T10:54:46.333 に答える