我有一个包含文本框和提交按钮的div标签。如果输入的文本是数字(整数或十进制),我试图只有提交按钮。但是,在运行调试器时,无论输入什么文本,都会调用onclick函数。知道我怎么搞砸了吗?
<div class="content">
<table class="inputForm">
<tr>
<th>Percentage:</th>
<td>
<asp:TextBox ID="VATAmount" runat="server"></asp:TextBox>
</td>
<td>
<asp:LinkButton ID="VATSubmit" runat="server" SkinID="Button" OnClick="VAT_Click" Text="Submit"></asp:LinkButton>
</td>
</tr>
</table>
<i>50% should be entered as 50</i>
<cb:RequiredRegularExpressionValidator ID="VATVerify" runat="server" ControlToValidate="VATAmount"
Display="Static" ErrorMessage="The Percent should be written as a decimal." Text="*" ValidationGroup="Add"
ValidationExpression="[*0-9]*\.[*0-9]" Required="true">
</cb:RequiredRegularExpressionValidator>
另外我应该注意,*输入的值不正确时会出现*,但输入的值不正确时会出现
答案 0 :(得分:0)
似乎正则表达式可能不正确。以下可能有用(我说可能是因为正则表达式在他们的失败方式中总是偷偷摸摸):
^[0-9]*\.?[0-9]+$
答案 1 :(得分:0)
尝试这样的事情:
^[0-9]+(?:\.[0-9]+)?$
答案 2 :(得分:0)
原始海报提供的正则表达式肯定是错误的,但我不确定这是真正的原因。由@Mark Wilkins提供的那个很棒。
我的猜测是你的验证根本没有开始。您可以尝试为LinkButton设置CausesValidation="True"
,看看是否有帮助。