This is a late answer but hope this might help.
Scenario 1:
You visited the site for first time and did not touch any field. The state of form is
ng-untouched and ng-pristine
Scenario 2:
You are currently entering the values in a particular field in the form. Then the state is
ng-untouched and ng-dirty
Scenario 3:
You are done with entering the values in the field and moved to next field
ng-touched and ng-dirty
Scenario 4:
Say a form has a phone number field . You have entered the number but you have actually entered 9 digits but there are 10 digits required for a phone number.Then the state is
ng-invalid
In short:
ng-untouched:When the form field has not been visited yet
ng-touched: When the form field is visited AND the field has lost focus
ng-pristine: The form field value is not changed
ng-dirty: The form field value is changed
ng-valid : When all validations of form fields are successful
ng-invalid: When any validation of form fields is not successful