app .directive('formGroup', function ($location) { return { restrict: 'C', link: function ($scope, $element, attrs) { if ($element.find('.form-control[ng-model], .form-control[data-ng-model]').length > 0) { let formControl = $element.find('.form-control'); $scope.$watch(function () { let model = formControl.data('$ngModelController'); return angular.isDefined(model) && model.$invalid; }, function (value) { let result = value; if (result) { $element.addClass('has-error'); } else { $element.removeClass('has-error'); } }); } } }; });