Search code examples
angularjsradio-buttonradiobuttonlist

Radio button group validation inside angular ng-repeat


I am trying to implement radio button group validation inside angular's ng-repeat.

HTML

<div ng-repeat="driver in drivers">
  <input required type="radio" value="M" name="driverGender" ng-model="driver.gender">
  <input required type="radio" value="F" name="driverGender" ng-model="driver.gender">
</div>

Name attribute should change in each repeat. I tried appending $index value, but it's not working properly when drivers are dynamically added and removed. What is the best way to implement this?


Solution

  • Finally I found one solution.

    <div ng-repeat="driver in drivers">
       <div ng-form="radioForm">
          <input required type="radio" value="M" name="driverGender{{$index}}" ng-model="driver.gender">
          <input required type="radio" value="F" name="driverGender{{$index}}" ngmodel="driver.gender">
          {{radioForm.$error}}
       </div>
    </div>
    

    Now the validation in happening thorugh the ng-form. Radio buttons will be grouped because $index.