Well as you already know there are still some pending issue's related to angular2 forms with validation. But after searching a lot i found few one is working which is posting now as answer -
Firstly For validation you have to use ngControl
, also you can use ngModel i.e two way binding of angular2 for getting values of forms no doubt we can use only ngControl for validation and for form values too. but it is good practice to use separate ones.
use ngControl for the validation purpose. there are default validators provide by angular to check validation we can create our custom one too as per need and can use in the validation (ngControl). if we are going to create model driven form i.e we have to create new control for every input by using new Control(). for the Control, control group and validation refer this best artical
here is the basic example of using controls for the form:
this.CreateGroup = fb.group({
'name': new Control(this.demoInfo.name, Validators.required),
'password': new Control(this.demoInfo.password, Validators.required),
'select': new Control(this.demoInfo.select, Validators.required)
})
Here i have three inputs named name, password,select respectively. and corresponding i have mentioned their values and validators (default validation).
<input type="text" [(ngModel)]='demoInfo.name' ngControl='name'>
here is how we define ngControl to out HTML side.
Working demo of form in angular2 with validation.