2013-08-07 24 views
1

我總計新手在使用asp.net和我有這個正常表達式驗證程序工作完美罰款之前,但我做了一個巨大的編輯後,我的文本框不再工作了。RegularExpressionValidator不工作

在編輯之前,當我嘗試提交表單時,如果我的文本框爲空或值=「」,它將顯示錯誤消息,並且將不是重定向到另一個頁面。

在編輯之後,當我嘗試提交表單時,無論文本框是否爲空,它都會重定向到另一個頁面。 不停止頁面重定向或顯示驗證程序

編輯前。

<asp:TextBox ID="txttstImmLen" CssClass="forImmLenTb" runat="server" Width="118" Text="Enter Value Here" OnClick="this.value=''" onblur="tryPlaceholder(this,'Enter Value Here')" ></asp:TextBox> 
<asp:RegularExpressionValidator ID="vldtstImmLen" ControlToValidate="txttstImmLen" Display="Dynamic" ErrorMessage="Immersion Length" Text="*" ValidationExpression="(0*[1-9]\d*)" Runat="server"/> 

編輯後

<asp:TextBox ID="txttstImmLen" CssClass="forImmLenTb" runat="server" Width="118" onblur="tryPlaceholder(this);"></asp:TextBox>&nbsp; 
<asp:RegularExpressionValidator ID="vldtstImmLen" ControlToValidate="txttstImmLen" Display="Dynamic" ErrorMessage="Immersion Length" Text="*" ValidationExpression="(0*[1-9]\d*)" runat="server"/>&nbsp;</td> 

請幫幫忙!

回答

5

RegularExpressionValidator s不檢查空值。您還需要使用RequiredFieldValidator

Clarification per @ KarlAnderson的評論:在編輯之前,您的佔位符文本導致RegularExpressionValidator檢查該值。

+0

但你怎麼能解釋它顯示在編輯代碼之前? – Jaeger

+2

編輯之前它的工作原因是因爲你有一個初始的'Text'值'Enter Value Here',因此正則表達式有一些東西需要處理和嘗試匹配。 –

+0

哦,我看到了......我想我除了添加RequiredFieldValidator之外別無選擇。謝謝!!! – Jaeger

0

您可能需要設置ValidationGroup屬性。如果導致驗證的控件已設置。

這是我的問題。

相關問題