com.opensymphony.xwork2.validator.validators

## Class StringLengthFieldValidator

- java.lang.Object
- - com.opensymphony.xwork2.validator.validators.ValidatorSupport
  - - com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
    - - com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator

- All Implemented Interfaces:
    FieldValidator, ShortCircuitableValidator, Validator

      public class StringLengthFieldValidator
      extends FieldValidatorSupport

  StringLengthFieldValidator checks that a String field is of a certain length. If the "minLength" parameter is specified, it will make sure that the String has at least that many characters. If the "maxLength" parameter is specified, it will make sure that the String has at most that many characters. The "trim" parameter determines whether it will `trim` the String before performing the length check. If unspecified, the String will be trimmed.
  - fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required
  - maxLength - Integer. The max length of the field value. Default ignore.
  - minLength - Integer. The min length of the field value. Default ignore.
  - trim - (Optional) Boolean, default true. Trim the field value before evaluating its min/max length. Default true.
  - maxLengthExpression - (Optional) String. Defines the max length param as an OGNL expression
  - minLengthExpression - (Optional) String. Defines the min length param as an OGNL expression
  - trimExpression - (Optional) String. Defines th trim param as an OGNL expression
  Do not use ${minLengthExpression}, ${maxLengthExpression} and ${trimExpression} as an expression as this will turn into infinitive loop!

       <validators>
           <!-- Plain Validator Syntax -->
           <validator type="stringlength">
               <param name="fieldName">myPurchaseCode</param>
               <param name="minLength">10</param>
               <param name="maxLength">10</param>
               <param name="trim">true</param>
               <message>Your purchase code needs to be 10 characters long</message>
           </validator>

           <!-- Field Validator Syntax -->
           <field name="myPurchaseCode">
               <field-validator type="stringlength">
                    <param name="minLength">10</param>
                    <param name="maxLength">10</param>
                    <param name="trim">true</param>
                    <message>Your purchase code needs to be 10 characters long</message>
               </field-validator>
           </field>

           <!-- Field Validator Syntax with expression -->
           <field name="myPurchaseCode">
               <field-validator type="stringlength">
                    <param name="minLengthExpression">${minLengthValue}</param> <!-- will be evaluated as: Integer getMinLengthValue() -->
                    <param name="maxLengthExpression">${maxLengthValue}</param> <!-- will be evaluated as: Integer getMaxLengthValue() -->
                    <param name="trimExpression">${trimValue}</param> <!-- will be evaluated as: boolean getTrimValue() -->
                    <message>Your purchase code needs to be 10 characters long</message>
               </field-validator>
           </field>
       </validators>

  Author:
    Jason Carreira, Mark Woon, tmjee

- - ### Field Summary

    - ### Fields inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport

      `currentValue, fieldName, type`

    - ### Fields inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport

      `defaultMessage, EMPTY_STRING, messageKey, stack, textProviderFactory`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StringLengthFieldValidator()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getMaxLength()`
    `int` | `getMinLength()`
    `boolean` | `isTrim()`
    `void` | `setMaxLength(int maxLength)`
    `void` | `setMaxLengthExpression(String maxLengthExpression)`
    `void` | `setMinLength(int minLength)`
    `void` | `setMinLengthExpression(String minLengthExpression)`
    `void` | `setTrim(boolean trim)`
    `void` | `setTrimExpression(String trimExpression)`
    `void` | `validate(Object object)` The validation implementation must guarantee that setValidatorContext will be called with a non-null ValidatorContext before validate is called.
    `protected void` | `validateValue(Object object, Object value)`

    - ### Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport

      `getCurrentValue, getFieldName, getValidatorType, setFieldName, setValidatorType`

    - ### Methods inherited from class com.opensymphony.xwork2.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 com.opensymphony.xwork2.validator.Validator

      `getDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, setDefaultMessage, setMessageKey, setMessageParameters, setValidatorContext, setValueStack`

- - ### Constructor Detail

    - #### StringLengthFieldValidator

          public StringLengthFieldValidator()

  - ### Method Detail

    - #### setMaxLength

          public void setMaxLength(int maxLength)

    - #### setMaxLengthExpression

          public void setMaxLengthExpression(String maxLengthExpression)

    - #### getMaxLength

          public int getMaxLength()

    - #### setMinLength

          public void setMinLength(int minLength)

    - #### setMinLengthExpression

          public void setMinLengthExpression(String minLengthExpression)

    - #### getMinLength

          public int getMinLength()

    - #### setTrim

          public void setTrim(boolean trim)

    - #### setTrimExpression

          public void setTrimExpression(String trimExpression)

    - #### isTrim

          public boolean isTrim()

    - #### 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` - the object to be validated.
      Throws:
        `ValidationException` - is thrown if there is validation error(s).

    - #### validateValue

          protected void validateValue(Object object,
                                       Object value)

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.