Forms are the mandatory building blocks of a web application. You use forms for various activities like user login or signup, book a flight, place an order etc.
In this article, you will learn about different ways of creating forms in Angular. Angular provides two ways to create forms – Template Driven and Model Driven.

Angular Form Building Blocks
The basic building blocks of an Angular form are : FormsGroup, FormControl, FormArray and Validations.

Angular Form and Form Controls States
Angular Forms and it's controls do change in it's states as user starts interaction with the form input controls. This state transition is helpful to get the information about the form and it's input control state. Based upon the get information you can show or hide error messages and even you can check the validity of the form.

States Transition
untouched => touched
invalid => valid
pristine => dirty
Angular Form Validations
Angular Form Validations are based on HTML5 validations. Angular Form Validations validate the user input for accuracy and completeness. All validations are performed on client-side.
Angular Forms Built-In Validation
required
minlength
maxlength
pattern
email – supports in Ng4
min
max
Template Driven Form
Template-driven Form is setup and configured in HTML Code. Template-driven Form is easy to use and suits for simple form. Template-driven Form uses directives (ngForm, ngModel) and reference name(#refName) for creating forms.

Model Driven Form
Model-driven form is setup and configured in component class. It is based on reactive style of programming where you use the underlying APIs FormControl and FormGroup that track the value and validation status. Reactive forms offer the ease of testing, and validation.

Template Driven vs. Model Driven Form
What do you think?
I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.
Share Article
Take our free skill tests to evaluate your skill!

In less than 5 minutes, with our skill test, you can identify your knowledge gaps and strengths.