2015-11-20 58 views
0

我對這個嚮導的工作有5個步驟單一形式,目的是當用戶點擊來處理一個單一的服務器請求數據完成按鈕。如何驗證表單比jQuery驗證一次

我試圖使用jQuery驗證插件來驗證每一步分別,我最初的想法是在用戶每次點擊下一次重新初始化插件,這樣的:

function validateStepOne(){ 

    $("#form").validate({ 
     rules: { 
      x: "required" 
    }}); 

    if(!$("#form").valid()){ 
     return false; 
    } 

    return true; 
} 

function validateStepTwo(){ 
    $("#form").validate({ 
     rules: { 
     y : "required", 
    }}); 

    if(!$("#form").valid()){ 
     return false; 
    } 

    return true; 
} 

但是,這並不似乎工作,因爲第二+步驟的形式總是標記爲有效,所以我想知道如何重置驗證插件,以便能夠驗證相同的形式不止一次..任何幫助,歡迎

+0

嘗試刪除驗證:$('#formid')。removeData('validator');驗證之間。或者,您可以在網頁中使用獨特的驗證方式製作多種表單? – Arg0n

+1

你可以不**重新初始化插件。它只能在表單上初始化一次。你唯一的選擇是把它分解成五個不同的'form'容器,或者使用'.rules()'方法根據需要激活/停用規則。否則,插件默認會忽略隱藏的字段,對於某些人來說,這對於這種情況來說已經足夠了。 – Sparky

+0

看到這個答案:http://stackoverflow.com/a/19546698/594235 – Sparky

回答

1

你不能重新初始化plu杜松子酒。它只能在表單上初始化一次。您的選擇是將其分成五個不同的容器form或使用.rules()方法根據需要激活/停用規則。

否則,默認情況下會忽略隱藏字段。因此,通常在多步驟表單中,當非活動選項卡中的字段被隱藏時,它們不再被驗證。這是許多人將採取的方法取決於多步驟形式的類型。

+0

使用同一個validate()調用的所有規則,因爲隱藏的字段被忽略。謝謝你讓我知道 :) –