com.opensymphony.xwork2.validator.validators

## Class RepopulateConversionErrorFieldValidatorSupport

- java.lang.Object
- - com.opensymphony.xwork2.validator.validators.ValidatorSupport
  - - com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
    - - com.opensymphony.xwork2.validator.validators.RepopulateConversionErrorFieldValidatorSupport

- All Implemented Interfaces:
    FieldValidator, ShortCircuitableValidator, Validator
  Direct Known Subclasses:
    ConversionErrorFieldValidator

      public abstract class RepopulateConversionErrorFieldValidatorSupport
      extends FieldValidatorSupport

  An abstract base class that adds in the capability to populate the stack with a fake parameter map when a conversion error has occurred and the 'repopulateField' property is set to "true".

  The capability of auto-repopulating the stack with a fake parameter map when a conversion error has occurred can be done with 'repopulateField' property set to "true".

  This is typically useful when one wants to repopulate the field with the original value when a conversion error occurred. Eg. with a textfield that only allows an Integer (the action class have an Integer field declared), upon conversion error, the incorrectly entered integer (maybe a text 'one') will not appear when dispatched back. With 'repopulateField' property set to true, it will, meaning the textfield will have 'one' as its value upon conversion error.

       <!-- myJspPage.jsp -->
       <ww:form action="someAction" method="POST">
         ....
         <ww:textfield
             label="My Integer Field"
             name="myIntegerField" />
         ....
         <ww:submit />
       </ww:form>

       <!-- xwork.xml -->
       <xwork>
       <include file="xwork-default.xml" />
       ....
       <package name="myPackage" extends="xwork-default">
         ....
         <action name="someAction" class="example.MyActionSupport.java">
            <result name="input">myJspPage.jsp</result>
            <result>success.jsp</result>
         </action>
         ....
       </package>
       ....
       </xwork>

       <!-- MyActionSupport.java -->
       public class MyActionSupport extends ActionSupport {
          private Integer myIntegerField;

          public Integer getMyIntegerField() { return this.myIntegerField; }
          public void setMyIntegerField(Integer myIntegerField) {
             this.myIntegerField = myIntegerField;
          }
       }

       <!-- MyActionSupport-someAction-validation.xml -->
       <validators>
         ...
         <field name="myIntegerField">
            <field-validator type="conversion">
               <param name="repopulateField">true</param>
               <message>Conversion Error (Integer Wanted)</message>
            </field-validator>
         </field>
         ...
       </validators>

  Author:
    tm_jee

- - ### Field Summary

    - ### Fields inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport

      `currentValue, fieldName, type`

    - ### Fields inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport

      `defaultMessage, EMPTY_STRING, messageKey, stack, textProviderFactory`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RepopulateConversionErrorFieldValidatorSupport()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `doValidate(Object object)`
    `protected String` | `escape(String value)`
    `boolean` | `isRepopulateField()`
    `void` | `repopulateField(Object object)`
    `void` | `setRepopulateField(boolean repopulateField)`
    `void` | `validate(Object object)` The validation implementation must guarantee that setValidatorContext will be called with a non-null ValidatorContext before validate is called.

    - ### Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport

      `getCurrentValue, getFieldName, getValidatorType, setFieldName, setValidatorType`

    - ### Methods inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport

      `addActionError, addFieldError, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getMessageParameters, getValidatorContext, isShortCircuit, parse, setDefaultMessage, setMessageKey, setMessageParameters, setShortCircuit, setTextProviderFactory, setValidatorContext, setValueStack`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.opensymphony.xwork2.validator.Validator

      `getDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, setDefaultMessage, setMessageKey, setMessageParameters, setValidatorContext, setValueStack`

- - ### Constructor Detail

    - #### RepopulateConversionErrorFieldValidatorSupport

          public RepopulateConversionErrorFieldValidatorSupport()

  - ### Method Detail

    - #### isRepopulateField

          public boolean isRepopulateField()

    - #### setRepopulateField

          public void setRepopulateField(boolean repopulateField)

    - #### validate

          public void validate(Object object)
                        throws ValidationException

      Description copied from interface: `Validator`
      The validation implementation must guarantee that setValidatorContext will be called with a non-null ValidatorContext before validate is called.
      Parameters:
        `object` - the object to be validated.
      Throws:
        `ValidationException` - is thrown if there is validation error(s).

    - #### repopulateField

          public void repopulateField(Object object)
                               throws ValidationException

      Throws:
        `ValidationException`

    - #### escape

          protected String escape(String value)

    - #### doValidate

          protected abstract void doValidate(Object object)
                                      throws ValidationException

      Throws:
        `ValidationException`

Copyright © 2000–2022 Apache Software Foundation. All rights reserved.