Resolution: Won't Fix
Affects Version/s: 2.1.3
Fix Version/s: None
Consider this testcase:
When you remove the value, the "value is required" validation error appears, which is perfectly fine. Also note that the input field is kept blank, as the enduser originally entered, which makes totally sense.
However, when you add this context parameter (which is often done to avoid the non-required model values being cluttered with empty strings and/or in order to be able to use JSR303 @NotNull annotation)
then the initial model value is redisplayed on validation error instead of the submitted value.
The culprit is in HtmlBasicRenderer#getCurrentValue().
One possible solution would be to check as well if it is invalid:
This is actually also more in line with the normal behaviour of UIInput#validate() method.