2012-05-16 46 views
0

輸入'12',點擊按鈕,a爲false,b爲true ...注意EnableClientScript設置爲false。asp.net regex validator conundrum


<asp:TextBox ID="TextBox1" runat="server" 
    Width="20px" MaxLength="3"></asp:TextBox> 
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" 
    runat="server" EnableClientScript="false" ControlToValidate="TextBox1" 
    ErrorMessage="RegularExpressionValidator" 
    ValidationExpression="([1-9]|[1-9][0-9]|[1-9][0-9][0-9])" 
    ForeColor="Red"><sup>invalid</sup></asp:RegularExpressionValidator> 
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Page.Validate(); 
    bool a = RegularExpressionValidator1.IsValid; 
    bool b = System.Text.RegularExpressions.Regex.IsMatch(TextBox1.Text, 
      RegularExpressionValidator1.ValidationExpression); 
} 

回答

0

替換ValidationExpression有:

ValidationExpression="^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$"