ICEfaces
  1. ICEfaces
  2. ICE-1126

Required Attribute not Working on ice:SelectOneMenu Initialized to Empty String

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.1
    • Fix Version/s: 1.6DR#6, 1.6
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Operating System: Windows XP
      Platform: PC

      Description

      The Wells-Fargo demo located at repo\applications\wells-fargo has an
      ice:selectOneMenu used to select the U.S. State. Currently, it defaults to
      the first state, but we would like it to have an initial value of nothing with
      the required="true" attribute on the component to force someone to select a
      state.

      At this point in time, adding an initial SelectItem with the value of an empty
      String will not fire the required="true" validator and initializing the first
      SelectItem to nothing will give it a null value and fire a ValidationError:
      Value is not valid.

      For testing purposes, you can add an initial entry with an empty String to the
      application by going to the Criteria class, removing the current
      initialization of the US_STATE_LIST and adding these two lines to the static
      block:

              US_STATE_LIST = new ArrayList(LocationLists.getUsStatesListSize()+1);
              US_STATE_LIST.add(0,new SelectItem(""));

      What we would like to do is add an empty initial SelectItem that would then
      fire the required="true" validator on the component. Please refer to ICE-873
      which was previously supposed to have resolved this issue.

        Activity

        Hide
        Brad Kroeger added a comment -

        I tested with the wells-fargo demo app and using "" as the value of the first item will fire the required validator. Not entering "" and leaving the item value as null will produce "null" as the first item in the UI.

        However, after interacting with the other input components you are able to get through (without another "required" message showing up) without changing the selection to a valid value.

        Show
        Brad Kroeger added a comment - I tested with the wells-fargo demo app and using "" as the value of the first item will fire the required validator. Not entering "" and leaving the item value as null will produce "null" as the first item in the UI. However, after interacting with the other input components you are able to get through (without another "required" message showing up) without changing the selection to a valid value.
        Hide
        Neil Griffin added a comment -

        I just tried this again with the latest trunk and the required validator is not firing.

        In my managed bean, I populate the list like this:

        ArrayList listItems = new ArrayList();
        listItems.add(new SelectItem("", "-- Select --");

        The rendered HTML looks like this:

        <option value="">-- Select --</option>

        The required validator is not firing when I tab out of the field, and is not firing when I submit the form.

        Please advise – Thanks!

        Neil

        Show
        Neil Griffin added a comment - I just tried this again with the latest trunk and the required validator is not firing. In my managed bean, I populate the list like this: ArrayList listItems = new ArrayList(); listItems.add(new SelectItem("", "-- Select --"); The rendered HTML looks like this: <option value="">-- Select --</option> The required validator is not firing when I tab out of the field, and is not firing when I submit the form. Please advise – Thanks! Neil
        Hide
        Adnan Durrani added a comment -

        Hi Brad and Neil,

        I have checked-in a fix for the above issue, can you guys please verify if it has been fixed. revision 14237

        Thanks,

        Show
        Adnan Durrani added a comment - Hi Brad and Neil, I have checked-in a fix for the above issue, can you guys please verify if it has been fixed. revision 14237 Thanks,
        Hide
        Brad Kroeger added a comment -

        I have tested this agains the wells-fargo demo and it appears to be working.

        Show
        Brad Kroeger added a comment - I have tested this agains the wells-fargo demo and it appears to be working.
        Hide
        Adnan Durrani added a comment -

        As Brad verified it. I am resolving this case.

        Show
        Adnan Durrani added a comment - As Brad verified it. I am resolving this case.

          People

          • Assignee:
            Unassigned
            Reporter:
            Brad Kroeger
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: