如何要求至少 1 个复选框进行 AngularJS 表单验证
How to require at least 1 checkbox for AngularJS Form Validation?
我有一个以表单显示的JSON对象数组。我希望表单验证工作,其中用户必须选中至少一个复选框才能使整个表单有效。
我知道可以使用ng-required
,但通过我所拥有的实现,这意味着必须选择所有这些才能使其有效。
这是我到目前为止的代码:
索引.html:
<div ng-repeat="item in volunteerOptions">
<label class="checkbox"><input type="checkbox" value="" data-ng-model="item.selected" ng-required="true">{{ item.content }}</label>
</div>
<button type="submit" class="btn btn-success" ng-disabled="!memberRegistrationForm.$valid">Submit</button>
控制器.js
$scope.volunteerOptions = [
{ content : 'Content 1', selected : false },
{ content : 'Content 2', selected : false },
{ content : 'Content 3', selected : false },
{ content : 'Content 4', selected : false },
];
关于我如何能够实现这种行为的任何想法?
您可以添加另一个范围属性并使用 array.some
检查是否有任何selected
true
。然后将该范围属性提供给 ng-required
。类似的东西
$scope.isOptionsRequired = function(){
return !$scope.volunteerOptions.some(function(options){
return options.selected;
});
}
<input type="checkbox" value="" data-ng-model="item.selected" ng-required="isOptionsRequired()">
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- angularjs复选框验证至少两个
- 如何从 AngularJS 输入中禁用我的复选框
- 复选框无法正常使用ng repeat,AngularJs
- 当与之关联的 ng-model 为 false 时,Angularjs 复选框值不会取消选中
- AngularJS复选框通过$event.target更改问题
- Angularjs - 复选框 - 计算多个选定/未选定项目
- 在 AngularJs 中触发文本框的复选框
- angularjs 选中复选框时隐藏具有特定类的对象
- AngularJS复选框过滤在页面加载时不进行过滤
- 如何使用ng-click在angularjs控制器中动态地选中/取消选中复选框
- angularjs复选框未被选中
- AngularJS过滤器使用ng个重复复选框显示所有页面加载
- 拾取复选框如何在后方法angularjs中产生
- 使用angularjs中复选框的值更新数组
- 使用angularjs表达式复选框
- 提醒所有在ng-Repeat中选中的复选框:AngularJS
- 使用复选框angularJS检索数据
- 至少选中一个复选框AngularJS