Example:
@Directive({
selector: '[uniq-login-validator]',
providers: [provide(NG_ASYNC_VALIDATORS, {useExisting: UniqLoginValidator, multi: true})]
})
class UniqLoginValidator implements Validator {
validate(c) { return someFunctionReturningPromiseOrObservable(); }
}