The code below seems to work pretty well for doing basic required form validation.
The form displays a red Name is required message when the field is dirty
Consider using this ngValidate module I have been working on.
The directive will add a span to hold your error messages. You can define custom validation strategies and individual error messages.
ngValidateFactory.strategies.customStrategy = [
{
value:ngValidate.required;
message:"This field is required"
},
{
value:[ngValidate.minLength,8];
message:"Minimum 8 characters are required"
},
{
value:[myFunction,arg1,arg2];
message:"This field fails my custom function test"
}]
demo plnkr