I've been working on an angular app where I need to be able to tab through fields
- if they are required, fail their validation
- If they are not, mark them as dirty
this way tabbing through the fields will show required fields as in error, but until they have been interacted with, they don't throw errors.