加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 可以让CompareValidator接受带逗号的数字吗?

发布时间:2020-12-16 07:15:29 所属栏目:asp.Net 来源:网络整理
导读:我一直在为网页上的输入字段进行Double的类型检查,但现在我需要允许逗号.可以使用CompareValidator完成,还是需要使用正则表达式验证器? 解决方法 而不是使用Type =“Double”,尝试使用Type =“Currency”.它应该接受带逗号和不带逗号的值,但是它不会接受超
我一直在为网页上的输入字段进行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})?)" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读