asp.net – 多个验证组,仅在控件模糊上验证一个
摘要
我有一个控件,有两个(几乎)相同的验证器,每个验证器链接到两个验证组.当光标离开控件时,ASP.NET会自动检查两个验证器.有没有办法只触发一个(没有设置EnableClientScript =“false”)所以模糊上没有显示两个*符号? 细节 我有一个带有两个按钮asp的表单:btnSave和asp:btnSubmit ……两个按钮都需要验证,因为某些控件必须在保存时验证才能正常工作. 所以我有两个验证组,用于提交的“默认”组(即未设置ValidationGroup属性)和用于保存的“SaveGroup”.有两个asp:ValidationSummary控件来反映这些. 在(例如)设计为接受十进制值的单个控件上,我有以下内容.首先是提交的必填字段,然后是提交的范围验证器.然后是第三个验证器,它是范围验证器的复制但是“SaveGroup”的一部分…… <asp:TextBox runat="server" id="txtMyDecVal" /> <asp:RequiredFieldValidator runat="server" ControlToValidate="txtMyDecVal" Text="*" ErrorMessage="Enter a value" /> <asp:RangeValidator runat="server" ControlToValidate="txtMyDecVal" Type="Double" MinimumValue="0" MaximumValue="999.99" Text="*" ErrorMessage="Value must be between 0 and 999.99" /> <asp:RangeValidator runat="server" ControlToValidate="txtMyDecVal" Type="Double" MinimumValue="0" MaximumValue="999.99" Text="*" ErrorMessage="Value must be between 0 and 999.99" ValidationGroup="SaveGroup" /> 这工作正常,两个按钮正确验证. 问题是……有一个视觉问题,如果你在控件中键入无效文本,当光标离开控件时,ASP.NET会自动触发RangeValidators,导致出现两个*符号. 有没有办法使它只有一个验证器被检查作为控件上的模糊事件的一部分? 我可以在其中一个验证器上设置EnableClientScript =“false”,但我仍然希望它在没有回发的情况下检查客户端的控件. 更新 我一直在玩设置EnableClientScript =“false”,因为我认为保存上的回发实际上并不是一个大问题. 但是,这会导致另一个视觉问题:输入无效文本,“提交”验证器显示*.单击保存,后退,然后显示“保存”验证器的*.如果您随后将文本更改为有效文本,则“保存”验证器不会消失,因此看起来仍然存在问题…如果您将文本更改为其他无效文本,则会出现“提交”*出现同样,导致与之前相同…即两个*符号. 解决方法
您应该向验证器添加Display =“Dynamic”.
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtMyDecVal" Text="*" ErrorMessage="Enter a value" Display="Dynamic" /> <asp:RangeValidator runat="server" ControlToValidate="txtMyDecVal" Type="Double" MinimumValue="0" MaximumValue="999.99" Text="*" ErrorMessage="Value must be between 0 and 999.99" Display="Dynamic" /> <asp:RangeValidator runat="server" ControlToValidate="txtMyDecVal" Type="Double" MinimumValue="0" MaximumValue="999.99" Text="*" ErrorMessage="Value must be between 0 and 999.99" ValidationGroup="SaveGroup" Display="Dynamic"/> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – MVC2到MVC3 IOC问题
- asp.net-mvc – ASP.NET MVC 4覆盖发出的html名称和id
- asp.net-mvc – 运行测试项目时自动启动ASP.MVC项目
- asp.net-mvc – 重载asp.net MVC Web API应用程序和异步消息
- asp.net-mvc-3 – FluentValidation – 验证跨多个属性
- asp.net-mvc-5 – 什么是最新的ASP .NET MVC版本?
- 什么是IIS和Asp.Net中的应用程序池?
- 如何在ASP.NET MVC 4 Beta中禁用Javascript/CSS缩小
- 在对ASP.NET MVC Action的AJAX请求期间有网络请求超时时会发
- asp.net – 什么导致页面呈现慢?
- asp-classic – 经典asp中的串联字符串
- asp.net – 实体框架:如何解决“FOREIGN KEY约束
- 浅谈ASP.NET Core 2.0 中间件(译)
- 可能的Bug与ASP.NET MVC 3路由?
- asp-classic – 使用TFS 2010“构建”经典ASP
- asp.net – 将machineKey添加到machine.config
- asp.net核心2.0发布到azure得到IIS 502.5错误
- asp.net-mvc – 元素’标题’出现次数太少,ASP.N
- Linq与ASP.NET MVC 3中的MySQL数据库,将DateTime
- asp.net-mvc – 有一个强大的方法来删除ASP.NET