Apache Struts 2 Documentation > Home > Guides > Core Developers Guide > Validation > conversion validator


Field Validator that checks if a conversion error occured for this field.


  • fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required


    <!-- Plain Validator Syntax -->
    <validator type="conversion">
    		<param name="fieldName">myField</param>
         <message>Conversion Error Occurred</message>
    <!-- Field Validator Syntax -->
    <field name="myField">
       <field-validator type="conversion">
          <message>Conversion Error Occurred</message>

Repopulating Field upon conversion Error

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">
      label="My Integer Field"
      name="myIntegerField" />
  <ww:submit />       

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

<!-- 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 -->
  <field name="myIntegerField">
     <field-validator type="conversion">
        <param name="repopulateField">true</param>
        <message>Conversion Error (Integer Wanted)</message>