<!DOCTYPE html>
<html>

  <head>
    <link data-require="bootstrap@3.3.7" data-semver="3.3.7" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
    <script data-require="jquery@2.2.4" data-semver="2.2.4" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script data-require="bootstrap@3.3.7" data-semver="3.3.7" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script data-require="angular.js@1.6.0" data-semver="1.6.0" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.js"></script>
    
    <link rel="stylesheet" href="style.css" />
    <script src="app.js"></script>
  </head>

  <body ng-app="myApp">
    <div ng-controller="TestCtrl as testCtrl">
      <form name="testCtrl.testForm">
        
        
        <div class="form-group" data-toggle="buttons">
          <label class="control-label">Gender</label>
          <br>
          <div class="form-group">
            
            <label
              class="btn btn-default has-feedback"
              name="sex"
              ng-model="testCtrl.modelValues.sex"
              uib-btn-radio="'M'"
              required>Male
            </label>
            
            <label
              class="btn btn-default has-feedback"
              name="sex"
              ng-model="testCtrl.modelValues.sex"
              uib-btn-radio="'F'"
              required>Female
              <span ng-class="
                {'glyphicon radioboxglyph glyphicon-ok': testCtrl.sexValid === true,
                'glyphicon radioboxglyph glyphicon-remove': testCtrl.sexValid === false,
                'glyphicon radioboxglyph glyphicon-warning-sign': testCtrl.sexValid === null}"></span>
            </label>
            
          </div>
        </div>
      </form>
      
    </div>
  </body>

</html>
/* Styles go here */

var app = angular.module('myApp', []);

app.controller('TestCtrl', function($scope) {
  var self = this;
  self.modelValues = {
    sex: null
  }
  
  self.sexValid = null;
  
  $scope.$watch('testCtrl.testForm.sex.$valid', function (validity) {
    console.log('validity:', validity);
    self.sexValid = self.testForm.sex.$valid;
  });
  
  // self.modelValues = {
  //   sex: 'F'
  // }
});