ciao!
è la prima volta che mi capita questa cosa, e su tutti i forma che ho nel progetto, solo questo ha questo comportamento.
questo il componente:
codice:
export class LoginComponent {
frm = new FormGroup({
u_email: new FormControl('', [
Validators.email,
Validators.required,
Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$')
]),
u_password: new FormControl('', Validators.required),
});
constructor(
private authService: UtentiService,
private router: Router,
private msgService: MessageService,
) {
}
submit(): void {
const credenziali: Credenziali = {
u_email: this.frm.get('u_email').value,
u_password: CryptoJS.SHA512(this.frm.get('u_password').value).toString()
};
console.log(credenziali);
this.authService
.login(credenziali)
.subscribe((res) => {
console.log(res);
// if (res.res === 'ko') {
// this.msgService.add({
// key: 'tst',
// severity: 'error',
// summary: `${res.message}`,
// });
// } else {
// this.router.navigate(['']);
// }
}
);
}
}
questo l'html:
codice:
<form [formGroup]="frm">
<input pInputText formControlName="u_email" placeholder="Email" class="w-20rem mb-3">
<p-password formControlName="u_password" placeholder="Password" [feedback]="false"
inputStyleClass="w-20rem mb-3"></p-password>
<button pButton label="Login" type="button" class="w-20rem" (click)="submit()" [disabled]="!frm.valid"></button>
</form>
questo il service:
codice:
login(credenziali: Credenziali): Observable<LoginResponse> {
const url = `${this.baseUrl}?controller=utenti&method=login`;
return this.http.post(url, credenziali).pipe(
map((res: LoginResponse) => res)
);
}
in pratica dopo la submit fa il refresh della pagina e quindi se le credenziali sono errate non mi fa vedere il messaggio.
ma ho levato tutti i redirect, e ripeto che in altri form non ho questo comportamente.
qualche idea??