You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Wolf Benz <eu...@gmail.com> on 2008/02/14 20:38:02 UTC

Re: [Solved] ERROR: Value is not a valid option

You can also use tr:selectOneChoice instead of h:selectOneMenu
With the same t:selectItems inside, h:... gives me errors; tr:... not  
at all!
-Wolf

On 27 Feb 2007, at 10:31, CarlHowarth wrote:

>
> Thanks very much Mike - all I needed to do to get this to work is  
> change the
> itemvalue of my t:selectitems from:
>
> "#{r.idString}"
>
> to:
>
> "#{r}"
>
> Thanks again - Carl
>
>
>
> Mike Kienenberger wrote:
>>
>> Yes, that's how I would do it.  If you specify an itemValue, then  
>> that
>> value must be of the correct type.  Ie, " " is not a containerType
>> (Srinivas) and "0" is not a region (Carl).
>>
>> On 2/26/07, Kevin Galligan <kg...@gmail.com> wrote:
>>> I am using facelets.  Where would that function go?  Each  
>>> f:selectItem
>>> entry?
>>>
>>> <f:selectItem itemLabel="Website URL"
>>> itemValue="#{myfn:convertStringToShort(3)}"/>
>>>
>>>
>>>
>>>
>>> On 2/26/07, Mike Kienenberger <mk...@gmail.com> wrote:
>>>> Take a look at
>>> http://issues.apache.org/jira/browse/MYFACES-1328.   It
>>>> looks like the RI does not have this convenience conversion.   I  
>>>> don't
>>>> know what the spec says, but that'd be the place to get a  
>>>> definitive
>>>> answer.
>>>>
>>>> If you're using facelets, as a temporary workaround you could  
>>>> create a
>>>> "convertStringToShort()" function (or whatever conversion you're
>>>> expecting to have happen automatically).
>>>>
>>>>
>>>> On 2/26/07, Kevin Galligan <kg...@gmail.com> wrote:
>>>>> I did try that and didn't have any luck.  I think that was due  
>>>>> to the
>>> fact
>>>>> that I was using shorts rather than ints, but I'd have to try it
>>> again
>>> now
>>>>> that I have a better understanding of everything involved.
>>>>>
>>>>> I looked at TOMAHAWK-152 briefly.  I'll have to sit down and  
>>>>> take a
>>> better
>>>>> look at it.  It looks to be in the realm.  The string value of  
>>>>> 'true'
>>> not
>>>>> matching with a boolean type value?
>>>>>
>>>>> I guess the bottom line is I'd like to find out if I should be  
>>>>> using
>>> an
>>>>> explicit converter to go from String to Short, or if the JSF api
>>> being
>>> used
>>>>> should be able to handle a simple[r] conversion like that.  It was
>>> doing
>>>>> that conversion originally.  Does the JSF spec cover this?   
>>>>> Anybody
>>> happen
>>>>> to know what the reference implementation does?  I'd love to try  
>>>>> it
>>> out,
>>> but
>>>>> we're trying to push this out the door, so for the near future I  
>>>>> have
>>> to
>>>>> focus on what's right in front of me.
>>>>>
>>>>>
>>>>> On 2/26/07, Martin Grotzke < martin.grotzke@javakaffee.de> wrote:
>>>>>> Does it work when you use itemValue="#{3}" as workaround?
>>>>>>
>>>>>> I also had the same problem with itemValue="true", what I think  
>>>>>> is
>>>>>> http://issues.apache.org/jira/browse/TOMAHAWK-152 ...
>>>>>>
>>>>>> Cheers,
>>>>>> Martin
>>>>>>
>>>>>>
>>>>>> On Mon, 2007-02-26 at 11:23 -0500, Kevin Galligan wrote:
>>>>>>> I'm having the same problem.  I had some code that was working
>>> for a
>>>>>>> long time with 1.1.5-SNAPSHOT, and now I'm getting that error.
>>>>>>>
>>>>>>> <h:selectOneMenu
>>>>> value="#{shared$FavoriteDocumentAdd.documentTypeId}"
>>>>>>> onchange="toggleInputRow()" id="documentTypeSelect"
>>>>>>> style="background-color:rgb(204,204,255)">
>>>>>>>   <f:selectItem itemLabel="Website URL" itemValue="3"/>
>>>>>>>   <f:selectItem itemLabel="File Upload" itemValue="1"/>
>>>>>>>   <f:selectItem itemLabel="Description Only" itemValue="2"/>
>>>>>>> </h:selectOneMenu>
>>>>>>>
>>>>>>> The value being set is a short.  Essentially it looks like the
>>> code
>>>>>>> was doing an automatic conversion before, but now chokes.
>>>>>>>
>>>>>>> I just reverted the code to 1.1.5-SNAPSHOT, and it works again.
>>> I'm
>>>>>>> going to try to take a quick look at the differences between
>>>>>>> UISelectOne.java between those two versions, but in practice  
>>>>>>> I've
>>>>>>> found with any large code base, it'll take a little time to
>>> really
>>>>>>> understand the layout.
>>>>>>>
>>>>>>> On 2/26/07, CarlHowarth < carl.howarth@dlapiper.com> wrote:
>>>>>>>
>>>>>>>       Hi,
>>>>>>>
>>>>>>>       I am having this problem too. My select one is set up as
>>>>>>>       follows:
>>>>>>>
>>>>>>>       <h:selectOneMenu id="regionList"
>>>>>>>       binding="#{Bean.regionListUI}"
>>>>>>>       value="#{ Bean.region}" >
>>>>>>>         <f:converter converterId=" myapp.Region"/>
>>>>>>>         <f:selectItem itemValue="0" itemLabel="(all)"/>
>>>>>>>         <t:selectItems var="r" itemLabel="#{ r.name }"
>>>>>>>       itemValue="#{ r.idString}"
>>>>>>>       value="#{applicationBean.regionMap}" />
>>>>>>>         <f:attribute name="fieldRef" value="Region List"/>
>>>>>>>       </h:selectOneMenu>
>>>>>>>
>>>>>>>       - This was working fine with 1.1.4 but since the upgrade
>>> to
>>>>>>>       1.1.5 it now
>>>>>>>       falls over.
>>>>>>>       - The application bean is at application scope, so the
>>> values
>>>>>>>       should always
>>>>>>>       be available.
>>>>>>>       - The converter changes an ID to a region and vice versa.
>>>>>>>       - The page loads up fine, I only have the problem when I
>>>>>>>       select a command
>>>>>>>       button that runs an action listener.
>>>>>>>       - I use a '<t:saveState value="#{Bean_track}"/>' for my
>>>>>>>       request-scoped bean.
>>>>>>>       - The region bean implements a working 'equals' method.
>>>>>>>       - If I select the manually populated select item, (all),
>>> it
>>>>>>>       works correctly.
>>>>>>>
>>>>>>>       My converter is like this:
>>>>>>>
>>>>>>>       public final static String CONVERTER_ID = "
>>> myapp.Region";
>>>>>>>           public Object getAsObject(FacesContext facesContext,
>>>>>>>       UIComponent
>>>>>>>       uiComponent, String string)
>>>>>>>                   throws ConverterException {
>>>>>>>
>>>>>>>              return
>>>>>>>
>>>>>
>>> JSFUtils 
>>> .getAppBackingBean().getRegionMap().get(Integer.parseInt(string));
>>>>>>>           }
>>>>>>>
>>>>>>>           public String getAsString(FacesContext facesContext,
>>>>>>>       UIComponent
>>>>>>>       uiComponent, Object object)
>>>>>>>                   throws ConverterException {
>>>>>>>               if (object == null) {
>>>>>>>                   return null;
>>>>>>>               } else if (object instanceof Region) {
>>>>>>>                   final Region region = (Region) object;
>>>>>>>                   return region.getId().toString();
>>>>>>>               }
>>>>>>>
>>>>>>>               return object.toString();
>>>>>>>           }
>>>>>>>
>>>>>>>
>>>>>>>       I am at a complete loss at the moment, so any thoughts on
>>> what
>>>>>>>       could be
>>>>>>>       causing this error would be appreciated.
>>>>>>>
>>>>>>>       Thanks, Carl
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>       Ernst Fastl wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I have had a similar problem recently. Generally
>>> happens
>>> if
>>>>>>>       the
>>>>>>>> application is not able to find the selected value in
>>> the
>>>>>>>       List of
>>>>>>>> selectItems.
>>>>>>>> This can be due to 2 possible situations:
>>>>>>>>
>>>>>>>> 1. The list is not available during validation
>>>>>>>> -> try using a <t:saveState
>>>>>>>       value="#{reportsBean.containerTypeList }" />
>>>>>>>> to ensure it is
>>>>>>>>
>>>>>>>> 2. The values of the selectItems (getValue() and
>>> setValue())
>>>>>>>       do not
>>>>>>>> contain
>>>>>>>> Strings and there is no converter:
>>>>>>>>
>>>>>>>> -> use a corresponding converter e.g. for Long -
>>>>>>>       LongConverter
>>>>>>>> for the selectOneMenu
>>>>>>>>
>>>>>>>> hope that helps
>>>>>>>>
>>>>>>>> regards
>>>>>>>>
>>>>>>>> Ernst
>>>>>>>>
>>>>>>>> On 2/22/07, Srinivas V <vuyyuru.srinivas@gmail.com >
>>> wrote:
>>>>>>>>> Hi All,
>>>>>>>>> Please help me!!
>>>>>>>>> I am having an issue with SelectOneMenu.
>>>>>>>>>
>>>>>>>>> I have installed JSF 1.1.5-SNAPSHOT ,Tomahawk1.1.5-
>>> SNAPSHOT
>>>>>>>       and
>>>>>>>>> tomahawk-sandbox-1.1.5-SNAPSHOT.
>>>>>>>>>
>>>>>>>>> Previously i had myfaces1.1 jar
>>>>>>>>> I dint have issue with selectOneMenu before.
>>>>>>>>>
>>>>>>>>> Now when I submit the page, I am getting this jsf
>>>>>>>       validation error:
>>>>>>>>> Container:"Value is not a valid option"
>>>>>>>>> for a selectOneMenu even if i select some option.
>>>>>>>>>
>>>>>>>>> code:
>>>>>>>>> <h:panelGroup
>>>>>>>       rendered="#{reportsBean.renderContainerType}">
>>>>>>>>>  <x:outputLabel for="containerfilter"
>>>>>>>>> value="#{msgBundle.EPCMgr_ContainerLbl }:"
>>>>>>>>> styleClass="standard_text_bold"/>
>>>>>>>>>  <f:verbatim><br/></f:verbatim>
>>>>>>>>>  <h:selectOneMenu id="containerfilter"
>>>>>>>>> value="#{ reportsBean.containerType}" immediate="true"
>>>>>>>       disabled="#{
>>>>>>>>> reportsBean.optionDisabled }"
>>> styleClass="standard_input">
>>>>>>>>>   <f:selectItem itemValue="" itemLabel=" " />
>>>>>>>>>   <f:selectItems
>>>>>>>       value="#{reportsBean.containerTypeList }"/>
>>>>>>>>>  </h:selectOneMenu>
>>>>>>>>> </h:panelGroup>
>>>>>>>>>
>>>>>>>>> Can anybody tell me why it is happening?
>>>>>>>>>
>>>>>>>>> regards
>>>>>>>>> srinivas
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>       --
>>>>>>>       View this message in context:
>>> http://www.nabble.com/ERROR%
>>>>>>>
>>>>> 3A-Value-is-not-a-valid-option-tf3270984.html#a9155607
>>>>>>>       Sent from the MyFaces - Users mailing list archive at
>>>>>>>       Nabble.com.
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> Martin Grotzke
>>>>>> http://www.javakaffee.de/blog/
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/ERROR%3A-Value-is-not-a-valid-option-tf3270984.html#a9178333
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>