[英]how to use a asp.net validator with two buttons, but one textbox
我的頁面上有兩個asp:LinkButton
和一個asp:TextBox
+一個asp:RegularExpressionValidator
。
<asp:LinkButton runat="server" ID="lbNearEventSearch" Text="<%# NearEventText %>" OnClick="NearEventSearch_Click" />
<asp:TextBox runat="server" ID="tbEventSearch" onfocus="clearIt(this)" onblur="setIt(this)" CssClass="addontextfield" MaxLength="5" />
<asp:LinkButton runat="server" ID="lbEventSearch" CssClass="addonbutton" OnClick="EventSearch_Click" />
<asp:RegularExpressionValidator runat="server" ID="EventSearchValidator" ControlToValidate="tbEventSearch" Enabled="false" ErrorMessage="<%# ErrorMessageText %>" ValidationExpression="[0-9]{4}" Display="Dynamic" />
我想將驗證器限制為僅在用戶單擊“ lbEventSearch”按鈕時運行,而在單擊其他按鈕時不執行任何操作。
在pageload上沒有辦法知道是否單擊了女巫按鈕,對嗎? 然后onclick回調在驗證器之后觸發。
我能想到的就是禁用驗證器,並在onclick回調中啟用它。 但我想知道是否會有更好的方法。
謝謝
您可以為此使用ValidationGroup:
<asp:TextBox runat="server" ID="tbEventSearch" onfocus="clearIt(this)" onblur="setIt(this)" CssClass="addontextfield" MaxLength="5" />
<asp:LinkButton runat="server" ID="lbEventSearch" CssClass="addonbutton" OnClick="EventSearch_Click"
ValidationGroup="SearchVG" />
<asp:RegularExpressionValidator runat="server" ID="EventSearchValidator" ControlToValidate="tbEventSearch" Enabled="false" ErrorMessage="<%# ErrorMessageText %>" ValidationExpression="[0-9]{4}" Display="Dynamic"
ValidationGroup="SearchVG" />
現在,只有具有指定組的控件(在本例中為lbEventSearch
)將觸發對相應驗證器的驗證。
只需在lbNearEventSearch上設置CausesValidation="false"
。
只需為所有元素和lbEventSearch按鈕提供相同的validateGroup,不要將validationGroup設置為其他按鈕。 您可以從屬性面板設置驗證組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.