The difference between required and ng-required is as follows:-
AngularJS form elements look for the required attribute to perform validation functions. ng-required allows you to set the required attribute depending on a boolean test.
As an example, <input required> and <input ng-required="true"> are essentially the same thing