Over-excitement... I'm still getting it wrong though...
In both our plunkr's it starts false (even though it's supposed to be true, since debugging in the if statement shows it is validated as true).
In addition, changing the select changes nothing in our state, even though it passes in the "true" part of the if statement.
Looking at c.$valid or c.$invalid show as correct when playing with the select box (again, during debugging).
Even though the value of the $valid is true and the $invalid is false, only after typing anything in the text box, it changes the value of the validity in the view.
So there's still a bug - or I'm missing something fundamental.