MyFaces-API issue: getValue of UIInput --------------------------------------
Key: MYFACES-1549 URL: https://issues.apache.org/jira/browse/MYFACES-1549 Project: MyFaces Core Issue Type: Bug Components: JSR-127 Affects Versions: 1.1.5 Reporter: Martin Marinschek Assigned To: Martin Marinschek Fix For: 1.1.6-SNAPSHOT UIOutput currently has the following code: public Object getValue() { if (_value != null) return _value; ValueBinding vb = getValueBinding("value"); return vb != null ? (Object)vb.getValue(getFacesContext()) : null; } UIInput has the following code: public void setValue(Object value) { setLocalValueSet(true); super.setValue(value); } My problem (pseudo code): 1) user enters an empty string in an input-component: "" 2) conversion and validation phase: "" --> setValue(null); isLocalValueSet = true; setSubmittedValue(null); 3) validation fails in some component on the page --> update model phase is skipped 4) renderer calls getValue(); --> getValue() evaluates the value-binding, as the local-value is 'null', and I get the default-value of the bean shown again proposed solution: UIInput overwrites getValue of UIOutput: public Object getValue() { if (isLocalValueSet()) return _value; ValueBinding vb = getValueBinding("value"); return vb != null ? (Object)vb.getValue(getFacesContext()) : null; } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.