Fix componentVM isValid

Properly deals with properties that should be valid but don’t show
errors (for cases when we bypass validation to reset dialogs and such)