0

以下のコードでわかるように、すべてのフィールドに少なくとも1文字が入力されているかどうかを確認するjqueryの関数があります。つまり、空でない場合です。

function validateStep(step){
    if(step == fieldsetCount) return;

    var error = 1;
    var hasError = false;
    $('#formElem').children(':nth-child('+ parseInt(step) +')').find(':input:not(button)').each(function(){
        var $this       = $(this);
        var valueLength = jQuery.trim($this.val()).length;

        if(valueLength == ''){
            hasError = true;
        }

    });
    var $link = $('#navigation_form li:nth-child(' + parseInt(step) + ') a');
    $link.parent().find('.error,.checked').remove();

    var valclass = 'checked';
    if(hasError){
        error = -1;
        valclass = 'error';
    }
    $('<span class="'+valclass+'"></span>').insertAfter($link);

    return error;
}

私が持っているような大きなフォームでは、必須ではないフィールドが 1 つあります。jqueryコードの実装にはまだいくつかの困難があり、特定のフィールドが不要であると言うためにこの関数の途中に挿入できるかどうかわかりません。

誰か助けてくれませんか?

前もって感謝します!

4

4 に答える 4

1

現在の要素のIDが除外する要素のIDと一致しないかどうかを確認してみてください。

var $this = $(this); 
if($this.attr('id') != 'SOMEID'){
  // Validate
}
于 2012-08-06T13:06:28.880 に答える
1

必須フィールドに特定のクラスのタグを付けて、このクラスが「必須」であるフィールドを繰り返し処理することができます。これにより、チェックするフィールドの決定を簡単に変更できます。

Jörn Zaefferer によるhttp://bassistance.de/jquery-plugins/jquery-plugin-validation/の jQuery 検証プラグインをお勧めします。この手法を使用してフォームを検証します。

于 2012-08-06T13:10:18.107 に答える
0

jqueryプラグインを使用することをお勧めします

例えば。 http://docs.jquery.com/Plugins/Validation#demo

http://bassistance.de/2011/05/14/release-validation-plugin-1-8-1/

それはあなたの仕事を容易にします。

于 2012-08-06T13:20:00.723 に答える
0

属性を追加しない理由 - isRequired=true || isRequired=false 属性値で必要な要素を集めて検証しますか?

于 2012-08-06T13:21:44.230 に答える