Angular
Formulaires

Template-Driven Forms

La méthode la plus simple pour créer des formulaires en Angular. On laisse le HTML (le "Template") piloter la logique avec la directive magique ngForm. Idéal pour les formulaires simples (Login, Contact).

Espace Sécurisé
Connectez-vous pour accéder au tableau de bord

Serveur en attente

Soumettez le formulaire pour voir les données envoyées.

La Magie du Template-Driven

  • 1. Lier la balise <form> à Angular Grâce à #monFormulaire="ngForm", Angular crée un objet JavaScript contenant tout l'état du formulaire (validité, valeurs).
  • 2. Enregistrer un champ (Input) En ajoutant simplement l'attribut ngModel et name="email" sur un input, Angular l'ajoute automatiquement à l'objet monFormulaire.value.
  • 3. Récupérer les erreurs On peut lier un champ à une variable locale (ex: #emailCtrl="ngModel") pour vérifier s'il a été touché (emailCtrl.touched) et s'il contient des erreurs (emailCtrl.invalid).

Le Code Source Complet

template-form.component.ts
import { Component } from '@angular/core';
import { NgForm, FormsModule } from '@angular/forms';

@Component({
  selector: 'app-ngForm',
  imports: [FormsModule],
  template: `
    <!-- L'objet ngForm est créé et passé à onSubmit lors de la validation -->
    <form #loginForm="ngForm" (ngSubmit)="onSubmit(loginForm)">
      
      <input type="email" name="email" ngModel required #emailCtrl="ngModel" />
      
      <div *ngIf="emailCtrl.invalid && emailCtrl.touched">Email Invalide</div>

      <button type="submit" [disabled]="!loginForm.valid">Envoyer</button>
    </form>
  `
})
export class NgFormComponent {
  
  onSubmit(form: NgForm) {
    // form.value contient un objet magique avec : { email: '...' }
    console.log(form.value); 
    form.reset();
  }
  
}