为什么这个标记......
<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,如果重要的话。)
答案 0 :(得分:1)
将EnableClientScript属性设置为false。这将完全阻止客户端的验证。然后在服务器端,确保在继续之前检查Page.IsValid属性。
答案 1 :(得分:1)
要回答问题(为什么Enter键或Tab键导致TextBox上的验证?),当您按Enter键时,DefaultButton将导致表单回发。按Enter键类似于单击提交按钮。
如果您要在输入时停用回发,则有several solutions suggested here,see here和here for a JQuery based solution。