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