[ http://issues.apache.org/jira/browse/MYFACES-1467?page=comments#action_12443261 ] David Chandler commented on MYFACES-1467: -----------------------------------------
I suspect there are still other issues here, but to get the immediate security problem resolved, I will proceed with Adam's suggestion to patch the decode() method of the TextInput Renderer. It turns out that HtmlRendererUtils.decodeUIInput() is logging a warning when it detects the missing client_id in the request, but is taking no further action. It seems this would be a fine place to set the submitted value to the empty string so as to trigger requiredness validation. Thoughts? if(paramMap.containsKey(clientId)) { ((EditableValueHolder) component).setSubmittedValue(paramMap .get(clientId)); } else { log.warn( "There should always be a submitted value for an input if it" + " is rendered, its form is submitted, and it is not disabled" + " or read-only. Component : "+ RendererUtils.getPathToComponent(component)); } Thanks, /dmc > Validation doesn't run for required fields if submitted value is null > --------------------------------------------------------------------- > > Key: MYFACES-1467 > URL: http://issues.apache.org/jira/browse/MYFACES-1467 > Project: MyFaces Core > Issue Type: Bug > Components: General > Affects Versions: 1.1.5-SNAPSHOT, 1.2.0-SNAPSHOT > Reporter: David Chandler > Assigned To: Matthias Weßendorf > Attachments: patch.txt > > > A component with a required value will not fail validation as expected if the > submitted value is null. This issue is not seen normally because browsers > send the value for an empty text field as an empty string. That is, the POST > data for an empty field1 will contain the field name but no value, like > field1=&field2=something. However, if you use a man-in-the-middle proxy such > as Paros to remove "fieldname=" from the POST data, the submitted value will > be null. UIInput.validate() skips validation for null submitted values, but > since requiredness is also part of validation, the requiredness check gets > skipped, too. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira