2013-02-23 54 views
0

我想隱藏我的包裝,當窗體沒有錯誤時存在錯誤。做一些人知道如何在我的代碼中應用這個。如何在沒有錯誤時隱藏jQuery Validate錯誤容器?

其實當窗體正確填充。我看過「請填寫這些東西」。如果有人知道如何隱藏他們沒有錯誤,他們就會知道。

$("#contactForm").validate({ 
    errorLabelContainer: $("#contactAlert ul"), 
    errorElement: 'li', 
    rules: { 

    }, 
    messages: { 
     }, 
    highlight: function (error, element) { 
     $("#contactAlert").removeClass('hide'); 
    }, 
    errorPlacement: function (error, element) { 
     this.labelContainer.append(error); 
    } 
}); 
// call valid to see errors 
var valid = $("#contactForm").valid(); 

console.log(valid); 
+0

很抱歉,但jQuery的不提供 「驗證方法」 。你在使用jQuery插件嗎?如果是,它是什麼? – Plap 2013-02-23 13:02:07

+0

@Plap,基於代碼格式,我可以告訴他使用jQuery Validate插件,儘管OP從未這麼說過。 – Sparky 2013-02-23 15:23:37

+0

您的代碼[已發佈](http://jsfiddle.net/X2DCU/)已顯示並隱藏錯誤消息和容器。你必須更好地解釋你在這裏做什麼。 http://jsfiddle.net/X2DCU/ – Sparky 2013-02-23 16:58:46

回答

1

Your code, as you've posted it, is already showing & hiding the error messages and container。你必須更好地解釋你想在這裏實現的目標。


你從來沒有解釋爲什麼你在代碼中使用highlighterrorPlacement。根據你的OP單獨,沒有理由超越這兩個回調函數。

默認情況下,插件已經做了你想要的...錯誤自動顯示爲&隱藏。在演示中,我給包裝器上色,以顯示錯誤消失時不顯示。

工作演示(與容器):http://jsfiddle.net/eVax5/

jQuery的

$(document).ready(function() { 

    $("#contactForm").validate({ 
     errorLabelContainer: $("#contactAlert ul"), 
     errorElement: 'li', 
     rules: { 
      // rules 
     } 
    }); 

}); 

HTML

<form id="contactForm"> 
    ... 
</form> 

<div id="contactAlert"> 
    <ul></ul> 
</div> 

和一個 「默認」 的例子:http://jsfiddle.net/Y6HTz/

jQuery的

$(document).ready(function() { 

    $("#contactForm").validate({ 
     // other options, 
     rules: { 
      // rules 
     } 
    }); 

}); 

HTML

<form id="contactForm"> 
    ... 
</form> 
0

邏輯上,當您重新提交表單時,在檢查表單之前,您應該簡單地隱藏錯誤消息。

-1

雖然進入你的價值就應該檢查驗證意味着存儲您的驗證功能的局部變量,並再次複檢..肯定它應該工作