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).