Validation is part of the basic contract of
JSF. It doesn't ever want you to be capable of setting the backing bean to a corrupt state (mixed updates).
However, I do this stuff all the time using the "rendered" attribute and a pair of controls. I only render the inputText control when input is required. Otherwise I display it by rendering an outputText control (assuming I want it displayed).
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.