0

必須フィールドを検証するために、そのようなテキストボックスを選択する必要があります。どうすればそれを行うことができますか?if ステートメントを使用できるようですが、実装方法がわかりません。

空のテキスト ボックスをテストするために次の必須フィールド バリデータを作成しましたが、複数のスペースがあるテキスト ボックスを検出できません。正しい方法で検証を行っていませんか? 検証にプラグインを使用する必要がありますか?

function validate()
        {
            $('.LoginFormBodyRightColumn input:text[value!=""]').next('span[class*="RequiredValidator"]').hide();
            $('.LoginFormBodyRightColumn input:text[value=""]').next('span[class*="RequiredValidator"]').show();
            $('.LoginFormBodyRightColumn input:password[value!=""]').next('span[class*="RequiredValidator"]').hide();
            $('.LoginFormBodyRightColumn input:password[value=""]').next('span[class*="RequiredValidator"]').show();


        }

jQuery では、何かを選択してからセレクターで何かを実行するため、jQuery には if ステートメントの場所がないように思えます。セレクターを含む if ステートメントは無意味です。

4

3 に答える 3

1
function validate()
        {
         $('.LoginFormBodyRightColumn input:text,.LoginFormBodyRightColumn input:password,').each(function(){
         if($.trim($(this).val())==="")
         $(this).next('span[class*="RequiredValidator"]').show();
         else
         $(this).next('span[class*="RequiredValidator"]').hide();
         });
         }
于 2012-07-25T09:27:17.910 に答える
1

あなたの問題を理解しているので、これを試してください..

<input class="LoginFormBodyRightColumn" type="text" />
<span class="RequiredValidator">*</span>
<input class="LoginFormBodyRightColumn" type="password" />
<span class="RequiredValidator">*</span>

<script >
  $("input").each(function(){
  var str=$(this).val();

  if(str=='')
      $(this).next('span[class*="RequiredValidator"]').show();
  else
      $(this).next('span[class*="RequiredValidator"]').hide();
  });
 </script>
于 2012-07-25T09:29:28.680 に答える
1

すべての入力の値を取得して、jquery セレクター以外のコードで検証してみてください。jquery トリム関数を使用して、空白を削除します。

function validate( jQueryFormSelector )
{
  var inputs = $(jQueryFormSelector).find('input');
  inputs.each( function (i,el) {
    if ( $.trim( $(el).val() ) == '' )
    {
      $(el).next('span[class*="RequiredValidator"]').show();
    }
    else
    {
      $(el).next('span[class*="RequiredValidator"]').hide();
    }
  });

}
于 2012-07-25T09:34:14.573 に答える