Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

226
Visualizações
Cómo obtener el estado del formulario después de renderizar (FormBuilder)

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!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

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); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda