【发布时间】:2009-11-24 11:06:47
【问题描述】:
<asp:TextBox ID="Textboxtotalamount" OnTextChanged="AmountChanged"
Width="90px" AutoPostBack="true" runat="server">
</asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator" runat="server"
ControlToValidate="Textboxtotalamount"
SetFocusOnError="True" ValidationGroup="val">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="Textboxtotalamount"
ValidationExpression="^[-+]?[1-9]\d{0,13}(\.\d{1,3})?%?$"
SetFocusOnError="True">F</asp:RegularExpressionValidator>
在上面的代码中可以正确验证.......但在文本框中我调用“OnTextChanged” 事件 ....假设如果我在文本框中键入(字符)错误消息同时显示 ontextchanged 事件也称为发生错误 ....当正则表达式引发时,我必须停止 OnTextChanged 事件...... 请帮忙
【问题讨论】:
-
Domnic,一旦你有了正则表达式验证器和必填字段验证器,它们只会在客户端通过 JavaScript 验证用户输入,现在如果它们被传递,那么只有 AmountChanged 事件将在服务器端触发(如果您想在客户端更改金额,则需要在 Javascript 中添加 page_ClientValidate())。
-
@Beginner:我不敢苟同:RegularExpressionValidator 执行客户端和服务器端验证。 msdn.microsoft.com/en-us/library/…
-
@Beginner - RequiredFieldValidator 和 RegularExpressionValidator 都执行客户端和服务器端验证。
-
顺便说一句,这个问题与stackoverflow.com/questions/1789355完全相同
标签: asp.net