I have a simple login form, and whenever i click the submit button (let’s assume the credentials are invalid), the password input is still filled, but right when type in the same password input it gets resetted.

I can’t see your video or understand what you are asking, but replace all the direct dot-reference accesses to controls in the template with calls to get(). The way you have it now will break in production.

You can see on the video i enter login & password and submit the form.
Then i get an invalid credentials message.
I put back the focus on the password input.
I start to type a letter and the input resets, i loose the previous password.
Hopefully it’s clearer.

I bet you could get the email to reset also if you clicked in certain ways. The problem is that ngModel was designed for Angular, not Ionic. Ionic uses different change detection events. If you want to use ngModel with ion-input (and you don’t need to for this login form) then you probably need to connect the (ionChange) event of the ion-input to ChangeDetectorRef.detectChanges().

But you don’t need ngModel, since you’re already building the form. I would remove ngModel from the template and define

get email() {
return this.loginForm.value['loginEmail'];
}

and then in your submit handler (your authenticate method) test the value of this.email. Do the same for loginPassword. That should work.

That’s good to know, however i’m not sure i understood what you mean by “test the value of this.email”.
I want the password to stay just like the email, i don’t want the email to act like the password does