Commons Validator
  1. Commons Validator
  2. VALIDATOR-20

[validator] validator argument - resource="false" ignored

    Details

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

      Operating System: other
      Platform: All

      Description

      In ValidationResources.java function addOldArgRules does not set value of
      “resource”, like:
      String resource = attributes.getValue("resource");
      if (resource != null && !"".equals(resource)) {
      arg.setResource(resource);
      }
      As a result I've got struts validation message "Field can not be less than null
      characters."

      Because in config there is defined a value '2' for minlength, but commons.jar
      searches for resource with name '2' in resource bundule.

      Configuration:

      <field property="name"
      depends="required,minlength,maxlength">

      <arg0 key="fieldForm.name"/>
      <arg1
      name="minlength"
      key="$

      {var:minlength}

      "
      resource="false"
      />
      <arg1
      name="maxlength"
      key="$

      {var:maxlength}

      "
      resource="false"
      />
      <var>
      <var-name>minlength</var-name>
      <var-value>2</var-value>
      </var>
      <var>
      <var-name>maxlength</var-name>
      <var-value>4</var-value>
      </var>
      </field>

        Activity

        Hide
        Niall Pemberton added a comment -

        I have fixed this, thanks for reporting it:

        http://svn.apache.org/viewcvs?rev=381425&view=rev

        This affects only the deprecared arg0 - arg3 elements. If you switch to the
        newer "arg" format (available in the 1.1 dtd) then you shouldn't have any
        problems:

        <arg position="1"
        name="minlength"
        key="$

        {var:minlength}

        "
        resource="false"
        />

        Show
        Niall Pemberton added a comment - I have fixed this, thanks for reporting it: http://svn.apache.org/viewcvs?rev=381425&view=rev This affects only the deprecared arg0 - arg3 elements. If you switch to the newer "arg" format (available in the 1.1 dtd) then you shouldn't have any problems: <arg position="1" name="minlength" key="$ {var:minlength} " resource="false" />
        Hide
        Rostislav Palivoda added a comment -

        Thank you!

        I use Xdoclet to generate config file. In my case it's

        • @struts.validator type="minlength" arg1value="$ {var:minlength}

          "

        • @struts.validator-var name="minlength" value="2"

        How can I switch to the new format using XDoclet?

        > <arg position="1"
        > name="minlength"
        > key="$

        {var:minlength}

        "
        > resource="false"
        > />
        >

        Show
        Rostislav Palivoda added a comment - Thank you! I use Xdoclet to generate config file. In my case it's @struts.validator type="minlength" arg1value="$ {var:minlength} " @struts.validator-var name="minlength" value="2" How can I switch to the new format using XDoclet? > <arg position="1" > name="minlength" > key="$ {var:minlength} " > resource="false" > /> >
        Hide
        Niall Pemberton added a comment -

        Sorry, I'm not an XDoclet user - you'll have to ask XDoclet about this.

        Show
        Niall Pemberton added a comment - Sorry, I'm not an XDoclet user - you'll have to ask XDoclet about this.

          People

          • Assignee:
            Unassigned
            Reporter:
            Rostislav Palivoda
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development