Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.1 Release
    • Component/s: None
    • Labels:
      None
    • Environment:

      Tomcat 5.5.17, Struts 1.2.9 (default validator 1.1.4 and 1.3.0)

      Description

      I posted this issue on Struts and it got determined to be a validator bug (or appears to be).

      There seems to be some issue with validating integer arrays:

      html:

      <html:select property="types" multiple="true" size="3" >
      <html:option value="1">should work</html:option>
      <html:option value="2">should work as well</html:option>
      <html:option value="blah">this will fail validation</html:option>
      </html:select>

      actionform:

      public class PropertyFilter implements Serializable
      {
      private String[] types;

      public String[] getTypes()

      { return types; }


      public void setTypes(String[] types)

      { this.types = types; }


      }

      validation.xml:

      <formset>
      <form name="PropertyFilterForm">

      <field property="types" depends="integer">
      <arg0 key="text.validation.type"/>
      </field>

      </form>
      </formset>

      Even if all values are integer, it will fail validation regardless. According to http://www.strutskickstart.com/IndexedPropertiesandValidation.ppt#18 I should
      do something like:

      <field property="types" indexedListProperty="types" depends="integer">
      <arg0 key="text.validation.type"/>
      </field>

      This time, it does indeed check all the values are of type integer, however,
      if you do not select anything (the field is not required) the result is:

      java.lang.NullPointerException
      org.apache.commons.validator.Field.getIndexedProperty(Field.java:796)
      org.apache.commons.validator.Field.validate(Field.java:891)
      ..

      Also having scoured all documentation in current and future builds and there is no example of validating an integer array.

        Activity

        Hide
        Niall Pemberton added a comment -

        Fixed in r410326 - thanks.

        Will be available in the next nightly build

        Show
        Niall Pemberton added a comment - Fixed in r410326 - thanks. Will be available in the next nightly build

          People

          • Assignee:
            Niall Pemberton
            Reporter:
            tomster
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development