This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • int validator
Skip to end of metadata
Go to start of metadata

Description

Field Validator that checks if the integer specified is within a certain range.

Parameters

  • fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required
  • min - the minimum value (if none is specified, it will not be checked)
  • max - the maximum value (if none is specified, it will not be checked)
  • parse - if set to true, minExpression and maxExpression will be evaluated to find min/max
  • minExpression - expression to calculate the minimum value (if none is specified, it will not be checked)
  • maxExpression - expression to calculate the maximum value (if none is specified, it will not be checked)

You can either use the min / max value or minExpression / maxExpression (when parse is set to true) - using expression can be slightly slower, see the example below.

Warning

Do not use ${minExpression} and ${maxExpression} as an expression as this will turn into infinitive loop!

Examples

Error rendering macro 'code': Invalid value specified for parameter 'java.lang.NullPointerException'
<validators>
     <!-- Plain Validator Syntax -->
     <validator type="int">
         <param name="fieldName">age</param>
         <param name="min">20</param>
         <param name="max">50</param>
         <message>Age needs to be between ${min} and ${max}</message>
     </validator>

     <!-- Field Validator Syntax -->
     <field name="age">
         <field-validator type="int">
             <param name="min">20</param>
             <param name="max">50</param>
             <message>Age needs to be between ${min} and ${max}</message>
         </field-validator>
     </field>

     <!-- Field Validator Syntax with expression -->
     <field name="age">
         <field-validator type="int">
             <param name="minExpression">${minValue}</param> <!-- will be evaluated as: Integer getMinValue() -->
             <param name="maxExpression">${maxValue}</param> <!-- will be evaluated as: Integer getMaxValue() -->
             <message>Age needs to be between ${min} and ${max}</message>
         </field-validator>
     </field>
</validators>
  • No labels

1 Comment

  1. The "int" validator does not work when values are empty. It is recommended to use a complementary "required" validator if the values are also required.