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

regex validator

{:.no_toc}

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

Description

Validates a string field using a regular expression.

Parameters

  • fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required.
  • regexp - The RegExp expression
  • caseSensitive - Boolean (Optional). Sets whether the expression should be matched against in a case-sensitive way. Default is true.
  • trim - Boolean (Optional). Sets whether the expression should be trimmed before matching. Default is true.
  • regexExpression - String (Optional). Defines regExp expression as an OGNL expression - will be evaluated to String.
  • caseSensitiveExpression - String (Optional). Defines caseSensitive param as an OGNL expression - will be evaluated to Boolean.
  • trimExpression - String (Optional). Defines trim param as an OGNL expression - will be evaluated to Boolean.

You can mix normal params with expression aware params but thus was not tested.

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

Examples

<validators>
    <!-- Plain Validator Syntax -->
    <validator type="regex">
        <param name="fieldName">myStrangePostcode</param>
        <param name="regex"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]]></param>
    </validator>
 
    <!-- Field Validator Syntax -->
    <field name="myStrangePostcode">
        <field-validator type="regex">
            <param name="regex"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]]></param>
        </field-validator>
    </field>
 
    <!-- Field Validator Syntax with expressions -->
    <field name="myStrangePostcode">
        <field-validator type="regex">
            <param name="regexExpression">${regexValue}</param> <!-- will be evaluated as: String getRegexValue() -->
            <param name="caseSensitiveExpression">${caseSensitiveValue}</param> <!-- will be evaluated as: boolean getCaseSensitiveValue() -->
            <param name="trimExpression">${trimValue}</param> <!-- will be evaluated as: boolean getTrimValue() -->
        </field-validator>
    </field>
</validators>