Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-3346

ValidatorSupport turns empty defaultMessage to null causing field error to include "null" for visitor validators with empty messages

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.1
    • 2.2.1
    • XML Validators
    • None
    • struts 2.1.8, xwork 2.1.6, jdk 1.6

    • Patch

    Description

      I reported this as http://jira.opensymphony.com/browse/XW-737 and I was asked to report this here as well.

      Upon upgrading to struts 2.1.8 (from 2.0.14) with xwork 2.1.6, I started getting field errors which included the string null in them for field visitor validators.

      Using a visitor validator as follows:

      <field name="residenceRoom">
      <field-validator type="visitor">
      <message/>
      </field-validator>
      </field>

      and a required string validator on the actual field as follows:
      <field name="description">
      <field-validator type="requiredstring">
      <message>Description is required</message>
      </field-validator>
      </field>

      I was expecting the field for residenceRoom.description to contain "Description is required" but instead it contained "nullDescription is required". Presumably this happens because of line 202 in VisitorFieldValidator.java

      super.addFieldError(getFullFieldName(fieldName), message + errorMessage);

      The fix for me seems to be to fix ValidatorSupport to not nullify defaultMessage when message is null or empty. I will attach a patch shortly.

      Attachments

        1. XW-737-null-defaultMessage.patch
          0.6 kB
          Haroon Rafique

        Activity

          People

            lukaszlenart Lukasz Lenart
            corporate_gadfly Haroon Rafique
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: