Reputation: 5456
I have a running a Ionic framework and trying to validate at least 1 checkbox being selected and not sure how to this. The "required" attribute seems only for required all of check boxes to be checked.
<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>
I'm appreciated your feedback
Thanks
Upvotes: 1
Views: 768
Reputation: 1201
Controller :
.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);
}
};
});
Html
<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>
to validate : u can check size of $scope.selectedRoutines
hope this helps in someway..!
Upvotes: 1