asp.net-mvc – 不引人注意的MVC3验证组的复选框

我需要验证一组复选框,使用MVC3不显眼的验证.我该怎么办?我发现这个并且尝试了,但它不工作.
$(function(){

        $.validator.addMethod('cb_selectone',function(value,element){
            if(element.length>0){
                for(var i=0;i<element.length;i++){
                    if($(element[i]).val('checked')) return true;
                }
                return false;
            }
            return false;
        },'Please select at least one option');

        $('#main').validate({rules:{Services:"cb_selectone"}});

我的Html:

<input type="checkBox" class="checkBox" name="Services" value="1" />
<input type="checkBox" class="checkBox" name="Services" value="2" />
<input type="checkBox" class="checkBox" name="Services" value="3" />

如果有人提供了服务器端客户端验证的完整解决方案(当然使用MVC3不显眼的验证)将是最好的.

谢谢

解决方法

好的,想出来:

用于服务器验证:
使用数据注释(需要做)

像我这样看待模特儿:

[required(ErrorMessageResourceName = "fld_Service_val_required_lbl",ErrorMessageResourceType = typeof(Resources.Service.Controllers.Firm))]
public ICollection<int> Services { get; set; }

为了客户端在我的html验证我添加一个类到我的输入复选框:

<input type="checkBox" class="checkBox required-checkBox" name="Services" value="1" />
<input type="checkBox" class="checkBox required-checkBox" name="Services" value="2" />
<input type="checkBox" class="checkBox required-checkBox" name="Services" value="3" />

并且:

$(function(){
        $.validator.addMethod('required_group',element) {
            var $module = $(element).parents('form');
            return $module.find('input.checkBox:checked').length;
        },'Select at least one Service please');
        $.validator.addClassRules('required-checkBox',{ 'required_group' : true });

..

不知道这是否是最好的解决方案,但它的工作:).如果有人知道更好,请发贴.

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...