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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 不引人注意的MVC3验证组的复选框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要验证一组复选框,使用MVC3不显眼的验证.我该怎么办?我发现这个并且尝试了,但它不工作.
  1. $(function(){
  2.  
  3. $.validator.addMethod('cb_selectone',function(value,element){
  4. if(element.length>0){
  5. for(var i=0;i<element.length;i++){
  6. if($(element[i]).val('checked')) return true;
  7. }
  8. return false;
  9. }
  10. return false;
  11. },'Please select at least one option');
  12.  
  13. $('#main').validate({rules:{Services:"cb_selectone"}});

我的Html:

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

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

谢谢

解决方法

好的,想出来:

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

像我这样看待模特儿:

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

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

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

并且:

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

..

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

猜你在找的asp.Net相关文章