Angular 4 Template Driven Forms:
- Angular offers two types of forms: template-driven and model-driven
1.Template Driven :
- template-driven forms place the emphasis on developing a form within an HTML template and handling most of the logic for the form-inputs, data validation, saving, and updating-in form directives placed within that template.
- Very less code required because most of the forms related work have been done by the angular framework itself.
- heavy use of the ngModel form directive
- FormModule must be imported into app-module.ts
- FormModule is available for following package
import { FormsModule } from ‘@angular/forms’;
Two Important Directives for form building:
- • NgForm • ngModel
- ngForm: It plays a great role in form building, this angular directive concrete values of all HTML elements of form.
- We can say that by using this directive we are capable to create form object.
- NgModel: This directive has used no binding, one-way and two-way data binding.
- It is responsible to hold values of HTML elements.
- It is also used to validate HTML elements values.
Example
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<h2>Simple Form</h2>
<form #f="ngForm" (ngSubmit)="onSubmit(f.value)">
<input type='text' name='fname' ngModel required />
<input type='text' name='lname' ngModel required />
<input type='submit' [disabled]="f.invalid" value='click here' />
<span> {{ fname }}</span>
<span> {{ lname }}</span>
</form>
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
fname="";
lname="";
onSubmit(form: any): void{
console.log(form);
this.fname = form.fname;
this.lname = form.lname;
}
}
Output:

