2012-01-26 18 views
0

jqueryで2つの検証を実行する必要があります。最初の検証は、ユーザーがドロップダウンからオプションを選択することを確実にするために行われます。ユーザがオプション「Approved」を選択すると、別の検証セットが発生します。 この検証が正常に動作します。選択は、「承認済み」に変更されたときにJqueryフィールド/フォーム検証

$(document).ready(function() { 
     $("form[name=usagAddSanction]").validate({ 
      rules: { 
       status: { 
        required: true 
       } 
      }, 
      messages: { 
       status: { 
        required: "You must select status" 
       } 
     } 
    }); 

この検証が発生することになっています。 jqueryはSPANを正しく追加しますが、フォームフィールドを検証しません。

$("select[name=status]").change(function() { 
     if ($(this).val() == 'Approved') { 
      $(".required").show(); 
      $("form[name=usagAddSanction]").validate({ 
       rules: { 
        siteName: { 
        required: true 
        } 
       }, 
       messages: { 
        siteName: { 
        required: "Please enter name" 
        } 
       } 
      }); 
     }else { 
      $(".required").hide(); 
     } 
    }); 

私はこれが原因私はすでに一度フォームを検証しているという事実のために可能でない場合は疑問に、この時点でいます。より多くの経験を持つ人が何らかのガイダンスを提供できることを願っています。ありがとう

答えて

1

validメソッドを使用して検証をトリガし、検証を行い、フォームが有効かどうかに基づいてルールに基づいてtrue/falseを返します。これを試して。

$("select[name=status]").change(function() { 
    if ($(this).val() == 'Approved') { 
     $(".required").show(); 
     $("form[name=usagAddSanction]").valid(); 
    }else { 
     $(".required").hide(); 
    } 
});