>My new question on that topic:
>
>
https://stackoverflow.com/questions/46122489/preventing-extra-calls-of-asyncvalidatorsThe jist of most of the links seems to be that you cannot rely on failed regular validators to prevent the async validators firing *on page load*.
You probably need to add more logic to ngModel.$asyncValidators.smCodeUnique to ensure that situations that don't require the $http call return services.Q.when(true);