2013-07-19 71 views
0

我在此代碼中遇到<asp:RequiredFieldValidator>問題。RequiredFieldValidator控件在Page_Load上顯示錯誤文本

<asp:Label ID="email_Label" runat="server" Text="Email"></asp:Label> 
<asp:TextBox ID="email_Text" runat="server" MaxLength="40" Width="250"></asp:TextBox> * 
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="email_Text" Text="Required"></asp:RequiredFieldValidator> 

據W3Schools的文檔here我已經正確地使用了<asp:RequiredFieldValidator>,但是,而不是顯示在標籤和文本框的頁面還顯示錯誤消息。這發生在page_load上,所以該值還沒有機會從默認值改變。我想要在用戶單擊我正在構建的表單底部的「保存」按鈕後顯示錯誤文本。

什麼正在顯示:

電子郵件[文本框] *必

應顯示什麼:

電子郵件[文本框] *

我缺少父母驗證者的元素或其他東西。根據w3schools網站上的例子,不需要父元素。事實上,他們設置示例的方式正是我期待的。

+0

你可以發佈你的代碼隱藏嗎? –

回答

2

使用Validation Group如果想在按鈕點擊顯示錯誤消息。喜歡這個。

<asp:RequiredFieldValidator ID="rqtxtQName" ValidationGroup="save" ControlToValidate="txtQueueName" runat="server" ErrorMessage="Some required field are missing." SetFocusOnError="True"Display="Dynamic"></asp:RequiredFieldValidator> 

並使用驗證組Button也。

<asp:Button ID="btnSubmit" runat="server" Text="Submit" ValidationGroup="save" OnClick="btnSubmit_Click"/> 

希望它能幫上忙。

0

以這種方式設置RequiredFieldValidator。刪除屬性:'TextRequired'&在開始和結束標記之間放置*。

<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
ControlToValidate="email_Text">*</asp:RequiredFieldValidator> 

此外,不要設置ErrorMessage屬性,因爲這將再次不符合您的要求。

2

如果你想驗證的保存按鈕單擊事件,然後設置屬性=的ValidationGroup「組別」爲 RequiredFieldValidator的,也爲保存按鈕,你應該使用的ErrorMessage代替Text

<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="email_Text" ErrorMessage="Required"></asp:RequiredFieldValidator> 
1

。所以當你點擊保存按鈕時它會檢查驗證。

而對於顯示消息,您可以使用ErrorMessage屬性。

感謝, 亞太區首席技術官Matt

相關問題