2010-11-07 88 views
0

我已經開始使用jQuery驗證插件1.7。驗證輸入元素的子集

我有一個像嚮導一樣的嚮導,爲多個視圖模型類收集輸入。每次用戶點擊NEXT/PREVIOUS按鈕時,我都會嘗試驗證步驟中顯示的每個對象。

我jQuery代碼是這樣的一個

$w.bind("jwizardchangestep", function (event, ui) { 
    if (ui.type !== "manual") { 
     var $currentStep = $w.find(".jw-step:eq(" + ui.currentStepIndex + ")"); 
     var $inputs = $currentStep.find("input:text"); 

     if ($inputs.length > 0 && !$inputs.valid()) { 
      $currentStep.find("label.error").effect("highlight"); 
      return false; 
     } 
    } 
}); 

其中$inputs包含在頁面中的所有輸入框的參考。

無論如何,功能$inputs.valid()總是返回true即使輸入元素根本沒有填充。我懷疑的東西是錯誤的,我在另一個jQuery的調用指定這樣一個

$("#registerForm").validate({ 
    rules: { 
     Firm_Name: "required", 
     Firm_StreetAddress: "required", 
     Firm_ZipCode: "required", 
     Firm_City: "required" 
    } 
}); 

這驗證規則是一個輸入框的樣本標記代碼

<input id="Firm_Name" name="Firm.Name" style="width: 460px;" type="text" value="" class="ui-widget-content"> 
+0

我也想創建一個嚮導,但我不知道如何在嚮導的不同步驟中堅持我的viewModel的狀態。你能告訴我你是如何設法做到的嗎?我在這裏創建了一個線程http://stackoverflow.com/questions/14769005/asp-net-mvc-updating-model-as-user-progress-through-wizard – Sam 2013-02-08 11:53:21

回答

0

我有它在元數據中使用規則工作。

看來,在提交時間,這是不正常是我想要做的,因爲我想驗證每個嚮導單擊下一步按鈕,來檢查電話

$("#registerForm").validate({ 
    rules: { 
     Firm_Name: "required", 
     Firm_StreetAddress: "required", 
     Firm_ZipCode: "required", 
     Firm_City: "required" 
    } 
}); 

將設置的規則。

使用元數據的規則

<input id="Firm_Name" name="Firm.Name" 
    style="width: 460px;" type="text" value="" 
    class="required ui-widget-content"> 

的作品非常好。謝謝大家的幫助

1

嘗試使用名稱

$("#registerForm").validate({ 
    rules: { 
     Firm.Name: "required", 
     Firm.StreetAddress: "required", 
     Firm.ZipCode: "required", 
     Firm.City: "required" 
    } 
});