#### Template Driven Form Validation

Template driven forms are forms where we write logic, validations, controls etc, in html code. Template driven forms are suitable for simple scenarios, uses two way data binding using the `[(NgModel)]` syntax.

#### Simple Form Validation

Name This field is required!
Email email must be valid!

    Username: {{ TDNameVar }}

    Email: {{ TDEmailVar }}

#### Validating Multiple Rules

Name This field is required!
Email email must be valid!
Password
Password is required. Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters.
Confirm Password
Confirm password is required. Password & Confirm Password does not match.

#### Inputs Validation

This field is required This field is required!
Must only consist of numbers The numeric field may only contain numeric characters.
Only alphabetic characters The alphabetic field may only contain alphabet characters.
Password Input Field
password is required. Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters.
Repeat password must match
Confirm password is required. Password & Confirm Password does not match.
Must be a valid email Must be a valid email!
Enter Number between 10 & 20 Enter Number between 10 & 20!
Must match the specified regular expression : ^([0-9]+)$ - numbers only The regex field format is invalid!
Length should not be less than the specified length : 3 The min field must be at least 3 characters!
The digits field must be numeric and exactly contain 3 digits The digits field must be numeric and exactly contain 3 digits!
Only alphabetic characters, numbers, dashes or underscores Must Enter Character, Number, Dash or Uderscore!
Must be a valid url Must be a valid url!

#### Reactive Form Validation

Reactive forms provide a model-driven approach to handling form inputs whose values change over time. Validate form values, and create dynamic forms where you can add or remove controls at run time.

Reactive forms are more robust: they’re more scalable, reusable, and testable. If forms are a key part of your application, use reactive forms

#### User Details Form with Validation

###### 1. Account Details

Username
Username is required
Email
Email is required
Email must be a valid email address
Password
Password is required
Password must be at least 6 characters
Confirm Password
Confirm Password is required
Confirm Password must be at least 6 characters
Passwords must match

###### 2. Personal Info

First Name
First Name is required
Last Name
Last Name is required
Country
country is required
Language
language is required
Age
Age is required
Phone Number
Phone Number is required