myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Schaaf (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (MYFACES-1545) UISelectOne validation fails with custom converter
Date Tue, 15 Sep 2009 10:15:58 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755441#action_12755441
] 

Martin Schaaf commented on MYFACES-1545:
----------------------------------------

I have the same issue with the following converter javax.faces.convert.LongConverter specified.
The following code works with myfaces 1.1.4 but no longer in 1.1.7.

<h:selectOneRadio id="id"
  value="#{bean.value}" layout="pageDirection"
  valueChangeListener="#{bean.listener}"
  onchange="submit()" converter="LongConverter">
  <f:selectItem itemValue="1" itemLabel="label1" />
  <f:selectItem itemValue="0" itemLabel="label2" />
</h:selectOneRadio>

bean.value is a Long object.
The select item values are created as Strings and get compared to Longs.
This code works in myfaces 1.1.4 with and without specifiyng a converter and does no longer
work in version 1.1.7 with or without a converter.

> UISelectOne validation fails with custom converter
> --------------------------------------------------
>
>                 Key: MYFACES-1545
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1545
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.1.5
>            Reporter: Dainius Vaznys
>
> This seems to be closely related with MYFACES-1328.
> I have a Converted configured with a UISelectOne which converts between strings and enum
values, i.e. getAsObject() returns an Enum instance. After the convertion takes place UISelectOne.validateValue()
is invoked to check if the Enum instance is among select items. This code definitely does
not work:
>                 Object itemValue = item.getValue();
>                 if (value==itemValue || value.equals(itemValue))
>                 {
>                     return true;
>                 }
> as it tries to match an Enum instance against a string.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message