Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.0
-
Fix Version/s: EE-4.0.0.GA, 4.1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Tested on Tomcat
-
Assignee Priority:P1
Description
<h:form>
<ace:simpleSelectOneMenu id="countryIn" value="#{dataBean.country}" required="true">
<f:selectItem itemValue="" itemLabel="--Select--" noSelectionOption="true"/>
<f:selectItem itemValue="1" itemLabel="Canada"/>
</ace:simpleSelectOneMenu>
<h:message for="countryIn"/>
<h:commandButton value="Submit" actionListener="#{formBean.submit}"/>
</h:form>
When an f:selectItem with noSelectionOption="true" is used as a default value for an ace:simpleSelectOneMenu (with required="true"), if the user selects it and submits the form the field isn't considered invalid. So the noSelectionOption doesn't appear to work with ace:simpleSelectOneMenu.
This behaviour should be the same as h:selectOneMenu, where we would see the standard validation message ("Required value...").
Other selection components that use SelectItem's, like ace:selectMenu and ace:comboBox, should also support the noSelectionOption attribute, if appropriate.
<ace:simpleSelectOneMenu id="countryIn" value="#{dataBean.country}" required="true">
<f:selectItem itemValue="" itemLabel="--Select--" noSelectionOption="true"/>
<f:selectItem itemValue="1" itemLabel="Canada"/>
</ace:simpleSelectOneMenu>
<h:message for="countryIn"/>
<h:commandButton value="Submit" actionListener="#{formBean.submit}"/>
</h:form>
When an f:selectItem with noSelectionOption="true" is used as a default value for an ace:simpleSelectOneMenu (with required="true"), if the user selects it and submits the form the field isn't considered invalid. So the noSelectionOption doesn't appear to work with ace:simpleSelectOneMenu.
This behaviour should be the same as h:selectOneMenu, where we would see the standard validation message ("Required value...").
Other selection components that use SelectItem's, like ace:selectMenu and ace:comboBox, should also support the noSelectionOption attribute, if appropriate.
Committed fix to 4.0 trunk at revision 43643. Added support for noSelectionOption in ace:simpleSelectOneMenu.
Testing notes: according to the JSF documentation, noSelectionOption="true" in f:selectItem should cause a validation error if the item is selected AND the component is using required="true".