मैं एक लॉगिन फ़ॉर्म पर काम कर रहा हूं और यदि उपयोगकर्ता अमान्य क्रेडेंशियल्स में प्रवेश करता है तो हम ईमेल और पासवर्ड दोनों फ़ील्ड को अमान्य के रूप में चिह्नित करना चाहते हैं और एक संदेश प्रदर्शित करते हैं जो कहता है कि लॉगिन विफल हुआ। मैं अवलोकन योग्य कॉलबैक से अमान्य होने के लिए इन फ़ील्ड्स को सेट करने के बारे में कैसे जाऊँ?
टेम्पलेट:
<form #loginForm="ngForm" (ngSubmit)="login(loginForm)" id="loginForm">
<div class="login-content" fxLayout="column" fxLayoutAlign="start stretch">
<md-input-container>
<input mdInput placeholder="Email" type="email" name="email" required [(ngModel)]="email">
</md-input-container>
<md-input-container>
<input mdInput placeholder="Password" type="password" name="password" required [(ngModel)]="password">
</md-input-container>
<p class='error' *ngIf='loginFailed'>The email address or password is invalid.</p>
<div class="extra-options" fxLayout="row" fxLayoutAlign="space-between center">
<md-checkbox class="remember-me">Remember Me</md-checkbox>
<a class="forgot-password" routerLink='/forgot-password'>Forgot Password?</a>
</div>
<button class="login-button" md-raised-button [disabled]="!loginForm.valid">SIGN IN</button>
<p class="note">Don't have an account?<br/> <a [routerLink]="['/register']">Click here to create one</a></p>
</div>
</form>
लॉगिन विधि:
@ViewChild('loginForm') loginForm: HTMLFormElement;
private login(formData: any): void {
this.authService.login(formData).subscribe(res => {
alert(`Congrats, you have logged in. We don't have anywhere to send you right now though, but congrats regardless!`);
}, error => {
this.loginFailed = true; // This displays the error message, I don't really like this, but that's another issue.
this.loginForm.controls.email.invalid = true;
this.loginForm.controls.password.invalid = true;
});
}
इनपुट्स को अवैध ध्वज को सही पर सेट करने के अलावा, मैंने email.valid
ध्वज को गलत पर सेट करने की कोशिश की है , और loginForm.invalid
इसे सही पर सेट करने के लिए भी। इनमें से कोई भी इनपुट उनके अमान्य स्थिति को प्रदर्शित करने का कारण नहीं बनता है।
setErros
विधि का उपयोग कर सकते हैं । टिप्स: आपको अपने घटक फ़ाइल पर आवश्यक सत्यापनकर्ता जोड़ना चाहिए। इसके अलावा प्रतिक्रियात्मक रूपों के साथ ngModel का उपयोग करने का एक विशिष्ट कारण है?