Я пытаюсь создать страницу входа, которая получает пользовательские данные с сервера и показывает сообщение об ошибке при вводе неправильного логина / пароля
код выглядит так:
login(x) {
// alert(this.form.value)
this.errmsg = "";
if (x.uid == "" || x.pwd == "") {
this.errmsg = "Fields should not be empty";
}else{
// parameter to pass on class
var params={
myclass:this,
}
// Getrequest to get element by id
var GetUserById = {
method: 'GET',
url: 'http://192.168.136.136:8100/User/' + x.uid + '/',
headers:
{
'Postman-Token': 'a81c98b6-5921-4ab5-bfbc-27dcff4b36ea',
'Cache-Control': 'no-cache'
}
}
var check=(body, x) =>{
body=JSON.parse(body)
if (body.length == 0) {
return false
}
else {
var uinfo = body[0]
if (uinfo.Password == x.pwd) {
window.sessionStorage.setItem('username', uinfo.UserId);
window.sessionStorage.setItem('Role', this.defineRole(uinfo.Role));
// window.sess
return true
}
else{
return false
}
}
}
var showError=() =>{
params.myclass.errmsg= "Invalid Username or Password"
}
request(GetUserById, function (error, response, body) {
if (error) throw new Error(error);
if(check(body, x)){
params.myclass.navCtrl.push(Home, {});
}
// createVerify
else{
showError()
return
}
});
}
}
html:
<form [formGroup]="form" (ngSubmit)="login(form.value)">
<ion-list>
<ion-item>
<ion-input type="text" formControlName="uid" placeholder="Username"></ion-input>
</ion-item>
<ion-item>
<ion-input type="password" formControlName="pwd" placeholder="Password"></ion-input>
</ion-item >
</ion-list>
<p id="almsg" class="text-right small" >{{errmsg}}</p>
<div padding>
<button ion-button type="submit" color="basic" block >Sign In</button>
</div>
</form>
значение errmsg в showerror () не влияет на html-страницу, если я не коснусь одного из входных данных.
Я попытался console.log, но он работает отлично,