Formulaires basés sur des modèles:
importé à l'aide de FormsModule
Les formulaires créés avec la directive ngModel ne peuvent être testés que dans un test de bout en bout car cela nécessite la présence d'un DOM
La valeur du formulaire serait disponible à deux endroits différents: le modèle de vue, c'est-à-dire ngModel
Validation de formulaire, à mesure que nous ajoutons de plus en plus de balises de validation à un champ ou lorsque nous commençons à ajouter des validations croisées complexes, la lisibilité du formulaire diminue
Formes réactives:
Peut généralement être utilisé pour des applications à grande échelle
la logique de validation complexe est en fait plus simple à mettre en œuvre
importé à l'aide de ReactiveFormsModule
La valeur du formulaire serait disponible à deux endroits différents: le modèle de vue et le FormGroup
Test unitaire facile: nous pouvons le faire simplement en instanciant la classe, en définissant certaines valeurs dans les contrôles de formulaire et en effectuant des assertions par rapport à l'état de validité global de la forme et à l'état de validité de chaque contrôle.
Utilisation d'observables pour la programmation réactive
Par exemple: un champ de mot de passe et un champ de confirmation de mot de passe doivent être identiques
Manière réactive: il suffit d'écrire une fonction et de la brancher dans le FormControl
Template-Driven Way: nous devons définir une directive et lui transmettre d'une manière ou d'une autre la valeur des deux champs
https://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/