blob: 8cae1738cf28f627302759098c427fa39ce7c933 [file] [view]
---
layout: default
title: double validator
parent:
title: Validation
url: validation.html
---
# double validator
{:.no_toc}
* Will be replaced with the ToC, excluding a header
{:toc}
## Description
Field Validator that checks if the double specified is within a certain range.
## Parameters
- `fieldName` - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required.
- `minInclusive` - the minimum inclusive value in FloatValue format specified by Java language (if none is specified, it will not be checked).
- `maxInclusive` - the maximum inclusive value in FloatValue format specified by Java language (if none is specified, it will not be checked).
- `minExclusive` - the minimum exclusive value in FloatValue format specified by Java language (if none is specified, it will not be checked).
- `maxExclusive` - the maximum exclusive value in FloatValue format specified by Java language (if none is specified, it will not be checked).
- `minInclusiveExpression` - the minimum inclusive value specified as a OGNL expression (if none is specified, it will not be checked).
- `maxInclusiveExpression` - the maximum inclusive value specified as a OGNL expression (if none is specified, it will not be checked).
- `minExclusiveExpression` - the minimum exclusive value specified as a OGNL expression (if none is specified, it will not be checked).
- `maxExclusiveExpression` - the maximum exclusive value specified as a OGNL expression (if none is specified, it will not be checked).
You can specify either `minInclusive`, `maxInclusive`, `minExclusive` and `maxExclusive` or `minInclusiveExpression`,
`maxInclusiveExpression`, `minExclusiveExpression` and `maxExclusiveExpression` as a OGNL expression, see example below.
You can always try to mix params but be aware that such behaviour was not tested.
> Warning: do not use `${minInclusiveExpression}`, `${maxInclusiveExpression}`, `${minExclusiveExpressionExpression}`
> and `${maxExclusive}` as an expression as this will turn into infinitive loop!
## Examples
```xml
<validators>
<!-- Plain Validator Syntax -->
<validator type="double">
<param name="fieldName">percentage</param>
<param name="minInclusive">20.1</param>
<param name="maxInclusive">50.1</param>
<message>Age needs to be between ${minInclusive} and ${maxInclusive} (inclusive)</message>
</validator>
<!-- Field Validator Syntax -->
<field name="percentage">
<field-validator type="double">
<param name="minExclusive">0.123</param>
<param name="maxExclusive">99.98</param>
<message>Percentage needs to be between ${minExclusive} and ${maxExclusive} (exclusive)</message>
</field-validator>
</field>
<!-- Field Validator Syntax with expression -->
<field name="percentage">
<field-validator type="double">
<param name="minExclusiveExpression">${minExclusiveValue}</param> <!-- will be evaluated as: Double getMinExclusiveValue() -->
<param name="maxExclusiveExpression">${maxExclusiveValue}</param> <!-- will be evaluated as: Double getMaxExclusiveValue() -->
<message>Percentage needs to be between ${minExclusive} and ${maxExclusive} (exclusive)</message>
</field-validator>
</field>
</validators>
```