我有一个包含复选框列表的表单,如下所示:
$scope.deviceList = [
{ text: "Dev 0", checked: false },
{ text: "Dev 1", checked: false },
{ text: "Dev 2", checked: false },
{ text: "Dev 3", checked: false },
{ text: "Dev 4", checked: false }
];
<form>
<ion-checkbox class="checkbox-balanced"
ng-repeat="item in deviceList"
ng-model="item.checked"
ng-required="true">
{{ item.text }}
</ion-checkbox>
</form>
当然,我有更多的元素。但就这种情况而言,我展示了相关代码。
现在,我希望验证在检查完所有复选框之前无法发送表单。 对此有任何优雅解决方案的建议吗?
提前致谢
答案 0 :(得分:1)
使用类似以下内容的函数也许可以解决问题:
$scope.validate = function(){
var numChecked = $filter($scope.deviceList, function(device) {
return device.checked
}).length;
return $scope.deviceList.length == numChecked;
}
并且不要忘记在控制器中注入$ filter服务,否则它将无效