blob: e0fe6805e6d631d4d122cb0306e1487b3335f578 [file] [log] [blame] [view]
---
layout: default
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
```xml
<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>
```