Class RepopulateConversionErrorFieldValidatorSupport
- All Implemented Interfaces:
FieldValidator
,ShortCircuitableValidator
,Validator
- Direct Known Subclasses:
ConversionErrorFieldValidator
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 org.apache.struts2.validator.validators.FieldValidatorSupport
currentValue, fieldName, type
Fields inherited from class org.apache.struts2.validator.validators.ValidatorSupport
defaultMessage, EMPTY_STRING, messageKey, stack, textProviderFactory
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
doValidate
(Object object) protected String
boolean
void
repopulateField
(Object object) void
setRepopulateField
(boolean repopulateField) void
The validation implementation must guarantee that setValidatorContext will be called with a non-null ValidatorContext before validate is called.Methods inherited from class org.apache.struts2.validator.validators.FieldValidatorSupport
getCurrentValue, getFieldName, getValidatorType, setFieldName, setValidatorType
Methods inherited from class org.apache.struts2.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 org.apache.struts2.validator.Validator
getDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, setDefaultMessage, setMessageKey, setMessageParameters, setValidatorContext, setValueStack
-
Constructor Details
-
RepopulateConversionErrorFieldValidatorSupport
public RepopulateConversionErrorFieldValidatorSupport()
-
-
Method Details
-
isRepopulateField
public boolean isRepopulateField() -
setRepopulateField
public void setRepopulateField(boolean repopulateField) -
validate
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
- Throws:
ValidationException
-
escape
-
doValidate
- Throws:
ValidationException
-