Хм, невалидное стостояние не возможно только если 1) Валидация в конструкторе 2) Конструктор скрыт и создание только через фабричный метод ну и валидация там же. Я не понял к чему ты это про парси?
Есть ещё вариант придумывать структуры, которые конструктивно не могут быть в невалидном состоянии.