Conoce la importancia de los formularios para tu sitio web

1

Versiones de Angular Forms

2

驴Por qu茅 aprender Angular Forms?

3

Presentaci贸n del proyecto: tour por los formularios de Platzi Store

4

Novedades de Angular 10: c贸mo migrar proyectos de Angular 8 o 9 a la versi贸n 10

Primeros pasos con Angular Forms

5

Template Forms vs. Reactive Forms

6

Dominando el FormControl y sus estados

7

C贸mo usar inputs de texto y la importancia del type

8

Manejo y binding de selects y selects m煤ltiples

9

Manejo y binding de inputs radio y checkbox

10

Aplica validaciones a un FormControl

11

Integraci贸n y validaciones con CSS para mostrar errores

Descubre todas las validaciones de Angular Forms

12

Usando FormGroup para agrupar multiples campos

13

Reactive Forms con FormBuilder

14

Los 11 validadores de Angular (y expresiones regulares)

15

Manejando m煤ltiples FormsGroups

16

Usando componentes de Angular Material

17

Errores comunes de usabilidad en formularios

18

Validaciones personalizadas: mejorando nuestro formulario de registro

Implemeta validaciones avanzadas en PlatziStore

19

C贸mo hacer validaciones grupales en Angular Forms

20

Validaciones condicionadas y reactividad a variaciones en la UI

21

Proyecto: formulario para crear categor铆as de productos

22

Proyecto: conectando nuestro formulario y la API

23

Proyecto: subir im谩genes a Firebase Storage

24

Validaciones asincr贸nicas

25

PatchValue: crear vs. editar

26

Proyecto: creando el m茅todo de editar categor铆as

Construye formularios din谩micos conectando una API

27

Smart vs. dumb components: un patr贸n para dividir responsabilidades

28

Implementando smart y dumb components en PlatziStore

29

Proyecto: mejorando nuestro formulario de productos

30

Select din谩mico: carga opciones desde una API

31

Select din谩mico: trabajando con objetos

32

驴C贸mo crear campos on demand? Forms din谩micos con FormArray

Estrategias avanzadas y optimizaci贸n de formularios

33

Crea tu propia librer铆a de componentes con CVA o Control Value Accesor

34

Crea un buscador de gifs usando la API de Giphy

35

Optimiza un input de b煤squedas con RxJS y debounce

36

Examina la accesibilidad de tus formularios

37

Siguientes pasos en tu carrera de desarrollo web profesional con Angular

Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Dominando el FormControl y sus estados

6/37
Recursos

Para ingresar al sistema pueden ingresar como admin:

User: [email protected]
Pass: nicolas.2010

O crear tu propio usuario con /auth/register

Aportes 16

Preguntas 10

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

FormControl

Es la pieza at贸mica de un formulario reactivo

// Crear un form control
nameField = new FormControl('soy un control');

// Enlazar el form cotrol con el template
<input type="text" [formControl]="nameField"/>

// Obtener el valor
{{nameField.value}}

// Obtener un observable del valor
this.nameField.valueChanges

// Obtener el objeto value
<code>
	<pre> {{ nameField | json}} <pre>
</code>

Tus explicaciones son muy geniales! enserio! 馃榾

驴Si nos subscribimos por valueChanges a un campo como es este caso es necesario destruir esa subscripci贸n o no afectar铆a o tendr铆a repercusiones?

Ufff, tuve que migrar el proyecto desde angular 10 a angular 14 pero asi como dijo nico, de version en version, osea, de la 10 a la 11, 11 a 12 etc.

la baje app actualice y me pide password en login , que le pongo鈥suario y pass

Por si entraste al curso y al correrlo no sabes con que credenciales ingresar a /admin: User: [email protected] Pass: admin123

valueChanges

El m茅todo valueChanges es una funci贸n que se puede usar con formularios reactivos en Angular para monitorear los cambios en los valores de los campos de un formulario. Este m茅todo devuelve un Observable que puede ser suscripto para recibir actualizaciones cada vez que el valor de un campo cambia.

import { FormGroup, FormControl } from '@angular/forms';
import { Observable } from 'rxjs';

export class MyForm {
  form = new FormGroup({
    name: new FormControl(''),
    email: new FormControl(''),
  });

  nameChanges: Observable<string>;

  ngOnInit() {
    this.nameChanges = this.form.get('name').valueChanges;
    this.nameChanges.subscribe(name => {
      console.log(`Name changed to: ${name}`);
    });
  }
}

En este ejemplo, se crea una clase FormGroup con dos campos, name y email. Luego, se usa el m茅todo valueChanges en el campo name para obtener un Observable que emite valores cada vez que el valor de name cambia. Finalmente, se suscribe a este Observable para recibir actualizaciones y mostrar un mensaje en la consola cada vez que el valor de name cambia.

El m茅todo valueChanges es 煤til para realizar tareas espec铆ficas cada vez que el valor de un campo cambia, como actualizar un componente dependiente o realizar una llamada a una API para obtener datos adicionales. Adem谩s, el m茅todo valueChanges es una forma sencilla de monitorear los cambios en los valores de los campos de un formulario reactivo en Angular.

Super Nicolas es un buen profesor

realice el proceso de crear un usuario en /auth/register
y ya puedo continuar con el curso !

Template Forms
Son formularios controlados por modelo
El modelo basado en plantillas
Angular crea modelos como FormGroups y FormControls
Directivas de Angular NgForm y NgModel
Reactive Forms
*Mucho mas potentes y mejor rendimiento

Basados en observable
Mejora el tipo de Validaci贸n de los datos
Se usa para Formularios complejos

Wow! hace tiempo que queria entender paso a paso los principios de los formularios reactivos. Muchas gracias profe @Nicolas Molina por tu explicaci贸n tann clara.

ng g c admin/components/basic-form

Buenas explicacion

buena clase, no entendia muy bien lo de la subcripcion, aprendiendo cada dia mas

Seg煤n veo, la suscripci贸n a valueChanges debe tener una desuscripci贸n, ya que si el usuario regresa al componente, habrian dos suscripciones.
Yo lo implemente de esta forma:

import { Subject, takeUntil } from 'rxjs';

  nameField = new FormControl('soy un control');
  private ngUnsubscribe = new Subject<void>();

  ngOnInit(): void {
    this.nameField.valueChanges.pipe(
    takeUntil(this.ngUnsubscribe)
    ).subscribe(value => console.log(value));
  }

   ngOnDestroy(): void {
      this.ngUnsubscribe.next();
      this.ngUnsubscribe.complete();
   }

Siguiendo el ejemplo que desarrollan en esta respuesta:
https://stackoverflow.com/questions/41364078/angular-2-does-subscribing-to-formcontrols-valuechanges-need-an-unsubscribe/46893278#:~:text=Yes%2C you do.,side-effects in your application

este curso est谩 bastante picante amigos 馃枛