com.opensymphony.xwork.validator.validators
Class RepopulateConversionErrorFieldValidatorSupport

java.lang.Object
  extended bycom.opensymphony.xwork.validator.validators.ValidatorSupport
      extended bycom.opensymphony.xwork.validator.validators.FieldValidatorSupport
          extended bycom.opensymphony.xwork.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 usefull 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' porperty 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="webwork-default.xml" />
 ....
 <package name="myPackage" extends="webwork-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>
 
 
 

Version:
$Date: 2006-04-05 17:56:17 +0200 (Wed, 05 Apr 2006) $ $Id: RepopulateConversionErrorFieldValidatorSupport.java 988 2006-04-05 17:56:17 +0200 (Wed, 05 Apr 2006) tmjee $
Author:
tm_jee

Field Summary
 
Fields inherited from class com.opensymphony.xwork.validator.validators.ValidatorSupport
defaultMessage, log, messageKey
 
Constructor Summary
RepopulateConversionErrorFieldValidatorSupport()
           
 
Method Summary
protected abstract  void doValidate(Object object)
           
 String getRepopulateField()
           
 void repopulateField(Object object)
           
 void setRepopulateField(String 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.xwork.validator.validators.FieldValidatorSupport
getFieldName, getValidatorType, setFieldName, setValidatorType
 
Methods inherited from class com.opensymphony.xwork.validator.validators.ValidatorSupport
addActionError, addFieldError, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getValidatorContext, isShortCircuit, setDefaultMessage, setMessageKey, setShortCircuit, setValidatorContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.opensymphony.xwork.validator.Validator
getDefaultMessage, getMessage, getMessageKey, getValidatorContext, setDefaultMessage, setMessageKey, setValidatorContext
 

Constructor Detail

RepopulateConversionErrorFieldValidatorSupport

public RepopulateConversionErrorFieldValidatorSupport()
Method Detail

getRepopulateField

public String getRepopulateField()

setRepopulateField

public void setRepopulateField(String 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 -
Throws:
ValidationException

repopulateField

public void repopulateField(Object object)
                     throws ValidationException
Throws:
ValidationException

doValidate

protected abstract void doValidate(Object object)
                            throws ValidationException
Throws:
ValidationException

XWork Project Page