Estoy usando FormBuilder para generar formularios. En ngOnInit , estoy llamando a una función que genera un formulario de inicio de sesión. Si algún usuario guardó sus credenciales, la próxima vez que intente iniciar sesión, estos campos se completarán previamente con sus credenciales guardadas (nombre de usuario y contraseña).
Quiero obtener el estado del formulario después de la representación. Llamé al enlace del ciclo de vida ngAfterViewInit pero obtuve el estado INVÁLIDO del formulario, incluso si tiene un nombre de usuario y una contraseña precargados.
A continuación se muestra el código:
constructor(private formBuilder: FormBuilder) {} ngOnInit() { this.generateForm(); } generateForm() { this.loginForm = this.formBuilder.group({ username: [null, [Validators.required]], password: [null, [Validators.required]], }); } ngAfterViewInit() { console.log(this.loginForm.status); //INVALID }No entendí por qué se muestra NO VÁLIDO. ¿Hay algún otro enlace de ciclo de vida en el que pueda obtener el estado VÁLIDO del formulario si está prellenado?
Esperando la solución. ¡Gracias por adelantado!
No es posible conocer los valores autocompletados hasta que el usuario interactúa con la página. (función de seguridad de Chrome)
Puede probar esta solución alternativa y tener una referencia a los campos:
@ViewChild('usernameField') usernameField: ElementRef; @ViewChild('passwordField') passwordField: ElementRef; ngAfterViewInit(): void { setTimeout(() => this.setValues(), 200); } setValues(): void { this.loginForm.get('login').setValue(this.usernameField.nativeElement.value); this.loginForm.get('password').setValue(this.passwordField.nativeElement.value); }