我一直在对网页上的输入字段进行 Double 类型检查,但现在我需要允许逗号。这可以使用 CompareValidator 来完成还是我需要使用正则表达式验证器?
而不是使用Type="Double"
,尝试使用Type="Currency"
。它应该接受带或不带逗号的值,但不接受超过 2 位小数。
这是一个例子:
<asp:TextBox runat="server" ID="TextBox1" />
<asp:CompareValidator runat="server" ID="cValidator" ControlToValidate="TextBox1"
Type="Currency" Operator="DataTypeCheck" EnableClientScript="true"
ErrorMessage="Invalid format!" Display="Dynamic" />
否则一个RegularExpressionValidator
会起作用,再加上RequiredFieldValidator
验证空条目(正则表达式验证器不会阻止空条目)。你可以使用CustomValidator
,但是如果您不想仅依靠回发的服务器端验证,则需要在 JavaScript 中提出客户端验证例程。此外,客户端解决方案可能涉及正则表达式,尽管不太复杂,但总体验证需要更多工作。
这是一个使用的示例RegularExpressionValidator
:
<asp:TextBox runat="server" ID="TextBox1" />
<asp:RequiredFieldValidator runat="server" ID="rfValidator" Display="Dynamic"
ControlToValidate="TextBox1" ErrorMessage="Required!" />
<asp:RegularExpressionValidator ID="reValidator" runat="server"
ControlToValidate="TextBox1"
EnableClientScript="True"
ErrorMessage="Invalid Format!"
Display="Dynamic"
ValidationExpression="(\d{1,3}(,\d{3})*\.\d{2})|(\d+(\.\d{2})?)" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)