2013-08-21 46 views
1

我已經在類項目(DLL)中創建了一個自定義控件,並在具有標準ASP.net必需字段驗證器控件的頁面中使用它以確保某些自定義控件的屬性由用戶填充。如何在回發之前驗證自定義的ASP.net控件

由於某些原因,驗證只發生在回發後。我需要在回發之前在客戶端進行驗證,即以類似於ASP.net驗證器控件驗證標準文本框的方式。

請幫忙。

+0

有驗證的屬性的名稱你試過一些東西... –

+0

試過什麼?是的,我嘗試了一些來自互聯網的想法,但他們都沒有幫助我在這個特定的場景 –

+0

你有沒有使用任何代碼,如果你可以請給這裏的代碼 –

回答

2

您可以使用CustomValidator的ClientValidationFunction屬性。

<asp:CustomValidator id="CustomValidator1" 
     ControlToValidate="Text1" 
     ClientValidationFunction="ClientValidate" 
     OnServerValidate="ServerValidation" 
     Display="Static" 
     ErrorMessage="Not an even number!"   
     runat="server"/> 




<script language="javascript"> 
    function ClientValidate(source, arguments) 
    { 
     if (arguments.Value % 2 == 0){ 
      arguments.IsValid = true; 
     } else { 
      arguments.IsValid = false; 
     } 
    } 
</script> 
+0

我認爲一個自定義驗證器是這個簡單的場景矯枉過正。我覺得一些小錯誤是阻止驗證器驗證客戶端。 –

1

我猜ü可能是無用火上的一些事件,如按鈕等 然後檢查驗證,有你做的按鈕的CausesValidation屬性是真實的。 例如

<asp:Button ID="Submit" runat="server" Text="Submit" CausesValidation="True" ClientIDMode="Static"/> 
+1

試過了。沒有區別。 –

0

您需要ValidationProperty屬性應用到您的用戶控件,它的價值指向將由驗證控件

檢查此鏈接http://www.matthewedmondson.info/2010/01/validatation-for-custom-user-controls.html

+0

我已經應用了ValidationProperty屬性。我的控制不是由內置的ASP控件組成的。它呈現純HTML使用HtmlTextWriter類 –

+0

@YosiefKesete然後我認爲你最好的選擇是使用CustomValidator控件作爲user952072建議。 –

相關問題