2012-01-26 192 views
0

我需要使用jQuery執行兩組驗證。首先進行驗證以確保用戶從下拉列表中選擇一個選項。如果用戶選擇「批准」選項,則會發生另一組驗證。 此驗證正常工作: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(); 
    } 
});