如何使验证适用于在 Ionic 复选框中选中的至少一个复选框

How to make a validation working for at least one checkbox being selected in Ionic Checkbox

本文关键字:复选框 一个 验证 何使 适用于 Ionic      更新时间:2023-09-26

>我有一个正在运行的 Ionic 框架并尝试验证至少选中了 1 个复选框,但不确定如何做到这一点。"必需"属性似乎仅用于选中必需的所有复选框。

<label class="item item-input">routines</label>
        <ion-checkbox name="routine" ng-repeat="item in routines"
                      ng-model="item.checked" 
                      ng-checked="item.checked"
                      ng-required="true">
          {{ item.name }}
        </ion-checkbox>

感谢您的反馈

谢谢

控制器 :

.controller('AppCtrl', function($scope) {    
$scope.Routines = [
  {name:'Routines1', selected:false},
  {name:'Routines2', selected:false},
  {name:'Routines3', selected:false},
  {name:'Routines4', selected:false},
  {name:'Routines5', selected:false},
  {name:'Routines6', selected:false},
  {name:'Routines7', selected:false}
];
$scope.selectedRoutines = [];
$scope.updateRoutines = function(item){
  console.log("array : " + JSON.stringify(item.selected));
  if(item.selected && ($scope.selectedRoutines.indexOf(item.name) < 0)){
    $scope.selectedRoutines.push(item.name);
    console.log("added : " + $scope.selectedRoutines);
  }else{
    $scope.selectedRoutines.splice($scope.selectedRoutines.indexOf(item.name), 1);
    console.log("remove : " + $scope.selectedRoutines);
  }
 };
});

目录

<div class="item-accordion"
         ng-repeat="item in Routines track by $index">
      <ion-item class="item item-checkbox">
        <label class="checkbox">
          <input type="checkbox" ng-model="item.selected" ng-change="updateRoutines(item)">
        </label>
        {{item.name}}
      </ion-item>
    </div>

要验证:您可以检查$scope.selectedRoutines的大小

希望这在某种程度上有所帮助..!