Package org.apache.struts2.validator.validators

# Class StringLengthFieldValidator

java.lang.Object
org.apache.struts2.validator.validators.ValidatorSupport
org.apache.struts2.validator.validators.FieldValidatorSupport
org.apache.struts2.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 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
  Constructor
  Description
  `StringLengthFieldValidator()`

- ## Method Summary

  Modifier and Type
  Method
  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 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

  - ### StringLengthFieldValidator

    public StringLengthFieldValidator()

- ## Method Details

  - ### 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)