Class 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
  • 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)