2011-08-16 196 views
1

我遇到的問題與requiredfieldvalidator控件不工作在ASP.net頁面上。我已經正確地完成了該字段的屬性,但是當我測試它時,即使有問題的字段爲空,也可以發送回發。服務器端驗證

所以我想做服務器端驗證,而不是。什麼是最好的方式來做到這一點?在導致回發的情況下?另外,如果我發現該字段是空白的,我如何讓用戶回到屏幕上,並將其他字段上的所有其他值保留原樣並顯示「此字段不能爲空」的消息。

編輯:

這是代碼:

<asp:TextBox ID="fName" TabIndex="1" runat="server" Width="221px" CausesValidation="True"></asp:TextBox> 
<asp:RequiredFieldValidator ID="FNameRequiredFieldValidator" runat="server"  ControlToValidate="fName" InitialValue="" ErrorMessage="Filter Name cannot be blank."  ToolTip="Filter Name cannot be blank.">*</asp:RequiredFieldValidator> 
+0

此鏈接有點過時,但仍然是使用驗證器的一個非常有用的介紹 - 它幫了我很多:http://www.codeproject.com/KB/validation/aspnetvalidation.aspx – mikemanne

回答

1

您需要爲您的按鈕/鏈接控件的標記爲好。

'CausesValidation'屬性不應該用於TextBox控件。

您點擊的按鈕需要將該屬性設置爲「True」。

請提供該標記,然後我可以建議備用服務器端驗證。

0

要啓用客戶端驗證,請在RequiredFieldValidator上設置EnableClientScript="true"

您也應該始終在服務器端進行驗證。但RequiredFieldValidator不允許你做任何特殊處理服務器端。只要檢查是否Page.IsValid()。如果未提供該字段,則將返回false

如果要執行自定義驗證,請使用CustomValidator