为什么Enter或Tab键会导致TextBox验证?

时间:2010-02-23 14:50:09

标签: asp.net validation

为什么这个标记......

<asp:TextBox ID="TextBox1" runat="server" CausesValidation="False"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegExValidatorTextBox1" runat="server" 
                                ControlToValidate="TextBox1" 
                                Text="Invalid date format." 
                                ValidationExpression="(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d">
</asp:RegularExpressionValidator>

...当我在TextBox中输入一些废话时抛出验证错误,如“a”并仅按Enter键或Tab键?我想在点击提交按钮之前进行验证。

(我正在使用VS2008 SP1,.NET 3.5 SP1,如果重要的话。)

2 个答案:

答案 0 :(得分:1)

EnableClientScript属性设置为false。这将完全阻止客户端的验证。然后在服务器端,确保在继续之前检查Page.IsValid属性。

答案 1 :(得分:1)

要回答问题(为什么Enter键或Tab键导致TextBox上的验证?),当您按Enter键时,DefaultButton将导致表单回发。按Enter键类似于单击提交按钮。

如果您要在输入时停用回发,则有several solutions suggested heresee herehere for a JQuery based solution