簡體   English   中英

使用ASP.NET中的ASP:RegularExpressionValidator控件時遇到的問題

[英]Issues with working with the ASP:RegularExpressionValidator control in ASP.NET

我不久前寫了一些代碼,以檢查輸入字符串是否符合使用ASP.NET的C#中的給定正則表達式。 這里要討論的控件是ASP:RegularExpressionValidator控件。 關鍵是,我有一個正則表達式,可以根據該正則表達式檢查輸入字符串的有效性,如果輸入字符串無效,則會彈出一條錯誤消息。 這是我嘗試的C#代碼:

protected void Validate_Click(object sender, EventArgs e)
        {
            Match expression = Regex.Match(getString.Text, validator.ValidationExpression);
            bool matchSuccess = expression.Success;
            if (matchSuccess)
                match.Text = "Match success";
            else
                match.Text = "Match fail";
        }

這是我的ASP Web表單的代碼:

<div style="font-family:'Segoe UI'">
        <asp:TextBox ID="getString" runat="server" Width="300"/>
        <asp:RegularExpressionValidator ID="validator" runat="server" ValidationExpression="ADMIN.[A-Z]{1,5}|[0-9]{1,10}" ControlToValidate="getString" ErrorMessage="does not conform to expression" />
        <asp:Button ID="Validate" runat="server" Text="Validate" OnClick="Validate_Click" />
        <asp:Label ID="match" runat="server" />
    </div>

現在的問題是,當我單擊“ Validate”按鈕時,它應顯示字符串符合正則表達式並且匹配成功,或者字符串不符合正則表達式並且匹配失敗。

但是我的頁面顯示匹配成功,同時顯示了ASP:RegularExpressionValidator控件的錯誤消息。

如何解決此問題?

您可以消除Validate_Click函數中的代碼(不要忘記從按鈕中刪除OnClick事件處理程序)。 RegularExpressionValidator將自動處理文本框驗證,而無需其他代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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