You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Mike Calmus (JIRA)" <ji...@apache.org> on 2007/11/28 18:49:35 UTC

[jira] Updated: (WW-2339) empty checkbox list results in "Invalid field value for field" error when using Collection or array containing non-boolean values.

     [ https://issues.apache.org/struts/browse/WW-2339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mike Calmus updated WW-2339:
----------------------------

    Description: 
I have an action that has a "selectedPageItems" element of type List<Long>. Using a JSp containing several checkboxes with value attributes of type Long, I receive an "Invalid field value for field" error when no items are selected.

The CheckboxInterceptor class has the following code block:

                // is this checkbox checked/submitted?
                if (!parameters.containsKey(name)) {
                    // if not, let's be sure to default the value to false
                    newParams.put(name, uncheckedValue);
                }

This causes a single boolean (or String) value to be added to the parameter list when no values are selected. This works fine if the Collection holds String or boolean values. However, in my situation the value can not be assigned to the Collection, giving the error.


  was:
I have an action that has a "selectedPageItems" element of type List<Long>. Using a JSp containing several checkboxes with value attributes of type Long, I receive an "Invalid field value for field" error when no items are selected.

The CheckboxInterceptor class has the following code block:

                // is this checkbox checked/submitted?
                if (!parameters.containsKey(name)) {
                    // if not, let's be sure to default the value to false
                    newParams.put(name, uncheckedValue);
                }

This causes a single boolean (or String) value to be added to the parameter list when no values are selected. This works fine if the Collection holds String or boolean values. However, in my situation the value can not be assigned to the Collection, giving the error.

A work-around is to add a fake method to the Action that takes a boolean value, but this is undesirable.


> empty checkbox list results in "Invalid field value for field" error when using Collection or array containing non-boolean values.
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-2339
>                 URL: https://issues.apache.org/struts/browse/WW-2339
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>    Affects Versions: 2.0.11
>         Environment: Tomcat 6, XWork 2.0.4
>            Reporter: Mike Calmus
>
> I have an action that has a "selectedPageItems" element of type List<Long>. Using a JSp containing several checkboxes with value attributes of type Long, I receive an "Invalid field value for field" error when no items are selected.
> The CheckboxInterceptor class has the following code block:
>                 // is this checkbox checked/submitted?
>                 if (!parameters.containsKey(name)) {
>                     // if not, let's be sure to default the value to false
>                     newParams.put(name, uncheckedValue);
>                 }
> This causes a single boolean (or String) value to be added to the parameter list when no values are selected. This works fine if the Collection holds String or boolean values. However, in my situation the value can not be assigned to the Collection, giving the error.

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