簡體   English   中英

如何使用帶有兩個按鈕但一個文本框的asp.net驗證器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM