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>
currentValue, fieldName, type
defaultMessage, EMPTY_STRING, messageKey, stack, textProviderFactory
Constructor and Description |
---|
RepopulateConversionErrorFieldValidatorSupport() |
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.
|
getCurrentValue, getFieldName, getValidatorType, setFieldName, setValidatorType
addActionError, addFieldError, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getMessageParameters, getValidatorContext, isShortCircuit, parse, setDefaultMessage, setMessageKey, setMessageParameters, setShortCircuit, setTextProviderFactory, setValidatorContext, setValueStack
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, setDefaultMessage, setMessageKey, setMessageParameters, setValidatorContext, setValueStack
public RepopulateConversionErrorFieldValidatorSupport()
public boolean isRepopulateField()
public void setRepopulateField(boolean repopulateField)
public void validate(Object object) throws ValidationException
Validator
object
- the object to be validated.ValidationException
- is thrown if there is validation error(s).public void repopulateField(Object object) throws ValidationException
ValidationException
protected abstract void doValidate(Object object) throws ValidationException
ValidationException
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.