আমি একটি লগইন ফর্ম নিয়ে কাজ করছি এবং যদি ব্যবহারকারী অবৈধ শংসাপত্রগুলি প্রবেশ করে আমরা ইমেল এবং পাসওয়ার্ড উভয় ক্ষেত্রেই অবৈধ হিসাবে চিহ্নিত করতে চাই এবং লগইন ব্যর্থ হয়েছে এমন একটি বার্তা প্রদর্শন করতে চাই। এই ক্ষেত্রগুলি পর্যবেক্ষণযোগ্য কলব্যাক থেকে অবৈধ হিসাবে সেট করার বিষয়ে আমি কীভাবে যাব?
টেমপ্লেট:
<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
পদ্ধতি ব্যবহার করতে পারেন । টিপস: আপনার উপাদান ফাইলে আপনার প্রয়োজনীয় বৈধকারক যুক্ত করা উচিত। এছাড়াও এনজিএমডেলটি প্রতিক্রিয়াশীল ফর্মগুলির সাথে ব্যবহার করার কোনও নির্দিষ্ট কারণ আছে?