2013-05-05 85 views
0

我有一個程序,有幾個RegularExpressionValidators過濾掉用戶的非數字輸入。如何檢查RegularExpressionValidator的狀態

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" class="errorMess" ErrorMessage="Letters are not Allowed!!" ControlToValidate="CelNo" ValidationExpression="\d+" runat="server" /> 

但是我發現RegularExpressionValidators只打印出錯誤消息,但不會阻止用戶輸入錯誤的數據。

因此,我在研究如何驗證後端代碼中的RegularExpressionValidator,以便在將值傳遞給查詢之前進行限制。

像例如如果消息是可見的,執行將停止。當然,還有其他一些如何過濾非數字數據的方法。但我只想通過RegularExpressionValidator來討論它。

我試過這樣。但不明白爲什麼它不工作:

If RegularExpressionValidator1.IsValid Then 

     MsgBox("Ya") 

    Else 
     MsgBox("Niht") 
    End If 

這是前端代碼:

<asp:TextBox ID="CelNo" runat="server"></asp:TextBox> 
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ErrorMessage="Letters are not Allowed!!" ControlToValidate="CelNo" ValidationExpression="\d+" 
     runat="server" /> 
<asp:Button ID="Button5" runat="server" Text="Button" /> 

回答

2

您可以通過使用Page.IsValid檢查...像

if(Page.IsValid) 
{ 
    //your Stff 
} 
else 
{ 
    //show your notification 
} 

或者你可以這樣做...

if(YourRegularExpressionId.IsValid==true) 
{ 
    //your Stff 
} 
else 
{ 
    //show your notification 
} 
+0

但是這是怎麼回事連接到RegularExpressionValidator? – meks 2013-05-05 13:30:31

+0

當驗證失敗時page.isvalid變成false – 2013-05-05 13:31:41

+0

我明白了。我會馬上嘗試 – meks 2013-05-05 13:34:25