У меня есть login.service.ts и мой login.component.ts
В моем компоненте входа в систему у меня есть поле ввода, где пользователь вводит имя пользователя и когда он нажимает кнопку «войти» , мы проверяем, является ли это имя пользователя действительным с этим вызовом:
<button color="primary" mat-raised-button (click)="loadUserInfo(email.value)">
continue
<mat-icon>arrow_forward</mat-icon>
</button>
loadUserInfo(userLogin: string) {
this.loginService.processLogin(userLogin);
}
, который вызывает мой сервис:
processLogin(loginId: string) {
return this.http.get("api/" + loginId).subscribe(
(user: User) => {
this.userSub.next(user);
},
err => {
console.error("Username not valid");
}
);
}
Я не могу обернуться вокруг следующего: Если вызов неуспешен , и нет пользователя с таким именем, как я могу в моем login.component.ts
показать сообщение об ошибке под полем ввода? Мне нужен bool или что-то в этом роде, но обработка ошибок происходит в service component
, поэтому я не совсем уверен, как лучше всего
Я бы поставил в поле ввода следующее:
<div *ngIf="userNotValid"> Error, this user doesn't exist</div>
Но как лучше всего справиться с этим сценарием? Пользователи нажимают кнопку, API возвращает ошибку, и теперь, как мне показать ошибку в файле login-component html? Спасибо