【发布时间】:2010-03-17 22:17:36
【问题描述】:
我有一个正则表达式验证控件已初始化以验证文本框控件。我希望用户能够输入美国货币值(12,115.85 美元或 1500.22 美元等)。我在 regexlib 网站上找到了一个可以解决问题的正则表达式。除了一件关键的事情外,验证控件似乎正在工作。如果输入无效数据,验证文本显示(文本框旁边的红色“*”),但页面仍会提交并且不会弹出错误消息......我认为应该显示错误消息如果验证控件检测到无效数据,页面将不会提交。这不是 ASP .NET 自动实现的吗?我已经广泛搜索了如何创建验证控件,但没有发现任何与我已经在做的不同的事情。谁能告诉我我在这里做错了什么?
<asp:TextBox ID="txtActualCost" runat="server" Width="120px" CausesValidation="true" />
<asp:RegularExpressionValidator ID="regExValActualCost"
ControlToValidate="txtActualCost"
Text="*"
ValidationExpression="^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"
ErrorMessage="Please enter a valid currency value for 'Actual Cost'"
Display="Dynamic"
EnableClientScript="true"
runat="server" />
【问题讨论】:
标签: asp.net .net validation