验证所有复选框都是以离子形式检查的

时间:2014-11-13 10:22:29

标签: angularjs validation checkbox ionic-framework

我有一个包含复选框列表的表单,如下所示:

$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>

当然,我有更多的元素。但就这种情况而言,我展示了相关代码。

现在,我希望验证在检查完所有复选框之前无法发送表单。 对此有任何优雅解决方案的建议吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

使用类似以下内容的函数也许可以解决问题:

$scope.validate = function(){
  var numChecked = $filter($scope.deviceList, function(device) {
    return device.checked
  }).length;
  return $scope.deviceList.length == numChecked;
}

并且不要忘记在控制器中注入$ filter服务,否则它将无效