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, typedefaultMessage, 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, setValidatorTypeaddActionError, addFieldError, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getMessageParameters, getValidatorContext, isShortCircuit, parse, setDefaultMessage, setMessageKey, setMessageParameters, setShortCircuit, setTextProviderFactory, setValidatorContext, setValueStackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, setDefaultMessage, setMessageKey, setMessageParameters, setValidatorContext, setValueStackpublic RepopulateConversionErrorFieldValidatorSupport()
public boolean isRepopulateField()
public void setRepopulateField(boolean repopulateField)
public void validate(Object object) throws ValidationException
Validatorobject - the object to be validated.ValidationException - is thrown if there is validation error(s).public void repopulateField(Object object) throws ValidationException
ValidationExceptionprotected abstract void doValidate(Object object) throws ValidationException
ValidationExceptionCopyright © 2000–2021 Apache Software Foundation. All rights reserved.