asp.net – 如何验证用户选择至少一个复选框?
我有一个复选框组控件,我想要求用户至少检查一个框,无论他们检查每一个,或3,甚至只有一个。
在asp.net的验证控件的精神,我可以使用来强制这。我也使用Ajax验证扩展器,所以如果它可能看起来像其他控件,而不是一些cheesy服务器验证方法在codebehind将是很好。 <asp:CheckBoxList RepeatDirection="Horizontal" RepeatLayout="Table" RepeatColumns="3" ID="ckBoxListReasons" runat="server"> <asp:ListItem Text="Preliminary Construction" Value="prelim_construction" /> <asp:ListItem Text="Final Construction" Value="final_construction" /> <asp:ListItem Text="Construction Alteration" Value="construction_alteration" /> <asp:ListItem Text="Remodel" Value="remodel" /> <asp:ListItem Text="Color" Value="color" /> <asp:ListItem Text="Brick" Value="brick" /> <asp:ListItem Text="Exterior Lighting" Value="exterior_lighting" /> <asp:ListItem Text="Deck/Patio/Flatwork" Value="deck_patio_flatwork" /> <asp:ListItem Text="Fence/Screening" Value="fence_screening" /> <asp:ListItem Text="Landscape - Front" Value="landscape_front" /> <asp:ListItem Text="Landscape - Side/Rear" Value="landscape_side_rear" /> <asp:ListItem Text="Other" Value="other" /> </asp:CheckBoxList> 解决方法
这很容易做验证服务器端,但我假设你想做它的客户端?
JQuery可以很容易地做到这一点,只要你有一些东西,所有的复选框控件有共同使用作为选择器,如类(CssClass在你的.NET控件)。您可以创建一个简单的JQuery函数并将其连接到ASP.NET自定义验证器。记住如果你去自定义验证器路由,以确保你检查它的服务器端,以及如果javascript不工作,你不会得到一个免费的服务器端检查像其他.NET验证器。 有关自定义验证器的更多信息,请查看以下链接:www.asp.net和 你不需要使用JQuery,它只是使JavaScript函数迭代,看看所有的复选框控件更容易,但你可以只使用香草javascript,如果你喜欢。 这里是一个例子,我发现在:Link to original <asp:CheckBoxList ID="chkModuleList"runat="server" > </asp:CheckBoxList> <asp:CustomValidator runat="server" ID="cvmodulelist" ClientValidationFunction="ValidateModuleList" ErrorMessage="Please Select Atleast one Module" ></asp:CustomValidator> // javascript to add to your aspx page function ValidateModuleList(source,args) { var chkListModules= document.getElementById ('<%= chkModuleList.ClientID %>'); var chkListinputs = chkListModules.getElementsByTagName("input"); for (var i=0;i<chkListinputs .length;i++) { if (chkListinputs [i].checked) { args.IsValid = true; return; } } args.IsValid = false; } 边注:JQuery只是一个小js文件包括你需要添加到你的页面。一旦你拥有它,你可以使用所有的JQuery你喜欢。没有什么可以安装,它将完全支持在下一个版本的Visual Studio我想。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用Visual Studio进行调试,ASP.NET MVC上的
- asp.net-mvc-3 – 货币格式化MVC
- asp.net – 通过嵌套母版页从内容页面访问body元素
- asp.net – 如何为同一个按钮运行客户端和服务器端代码?
- 在ASP.NET中禁用JavaScript时检测
- ASP.NET框架中的异步页面 – 其他线程在哪里,如何重新连接?
- asp.net-core – 如何为asp.net vnext使用不同的.net语言(F
- asp.net-mvc – 在ASP.NET MVC中创建模型
- 如何在ASP.NET下拉列表的每个ListItem中保存第三个值?
- 如果我在ASP.NET网页中打开数据库连接会发生什么
- asp.net-mvc – ASP.net MVC – 我可以告诉Html.
- asp.net-core – 有没有办法使用NuGet或其他方式
- asp.net-core – 如何使用asp-for标签绑定数组?
- iis-7.5 – aspnet_compiler无法映射路径’/’
- ASP.NET AJAX工具包 – CalendarExtender在Postb
- asp.net-mvc – MVC和RadioButtonList
- .net – 从何处运行实体的重复检查
- asp.net – 使用主题的css文件需要在页面上的头控
- asp.net-mvc – AspNet如何与我的模型识别
- asp.net-mvc – mvc razor @helper可以返回非编码