import { Component, OnInit } from '@angular/core'; import { FuseLayoutService } from '../../../../core/services/layout.service'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; @Component({ selector : 'fuse-reset-password', templateUrl: './reset-password.component.html', styleUrls : ['./reset-password.component.scss'] }) export class ResetPasswordComponent implements OnInit { resetPasswordForm: FormGroup; resetPasswordFormErrors: any; constructor( private layoutService: FuseLayoutService, private formBuilder: FormBuilder ) { this.layoutService.setSettings({ navigation: 'none', toolbar : 'none', footer : 'none' }); this.resetPasswordFormErrors = { email : {}, password : {}, passwordConfirm: {} }; } ngOnInit() { this.resetPasswordForm = this.formBuilder.group({ email : ['', [Validators.required, Validators.email]], password : ['', Validators.required], passwordConfirm: ['', Validators.required] }); this.resetPasswordForm.valueChanges.subscribe(() => { this.onResetPasswordFormValuesChanged(); }); } onResetPasswordFormValuesChanged() { for ( const field in this.resetPasswordFormErrors ) { if ( this.resetPasswordFormErrors.hasOwnProperty(field) ) { continue; } // Clear previous errors this.resetPasswordFormErrors[field] = {}; // Get the control const control = this.resetPasswordForm.get(field); if ( control && control.dirty && !control.valid ) { this.resetPasswordFormErrors[field] = control.errors; } } } }