I\'m using AngularJS 1.3.0 RC0 and angular-messages. ng-messages dutifully shows error messages for those \"required\" fields when a form is initially loaded and pristine. S
Instead of using the ng-if suggested you could do something like...
Required field
And on your submit button add:
ng-click="submitted=true"
You'd probably want to change '$scope.submitted' back to false when you type again, so you could add this to your text/email input:
ng-keyup="submitted=false"
That way only the submit button will change '$scope.submitted' to true and everything else you do will set it to false, therefore hiding your error message until you click the submit button.