layout: core-developers title: stringlength validator parent: title: Validation url: validation.html

stringlength validator

{:.no_toc}

  • Will be replaced with the ToC, excluding a header {:toc}

Description

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 String#trim() the String before performing the length check. If unspecified, the String will be trimmed.

Parameters

  • 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.

Warning: do not use ${minLengthExpression}, ${maxLengthExpression} and ${trimExpression} as an expression as this will turn into infinitive loop!

Examples

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