Range
Edit this pageWarning: You are browsing the documentation for Symfony 2.5, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
Range
Validates that a given number is between some minimum and maximum number.
Applies to | property or method |
Options | |
Class | Range |
Validator | RangeValidator |
Basic Usage
To verify that the "height" field of a class is between "120" and "180", you might add the following:
1 2 3 4 5 6 7 8 9
# src/Acme/EventBundle/Resources/config/validation.yml
Acme\EventBundle\Entity\Participant:
properties:
height:
- Range:
min: 120
max: 180
minMessage: You must be at least {{ limit }}cm tall to enter
maxMessage: You cannot be taller than {{ limit }}cm to enter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// src/Acme/EventBundle/Entity/Participant.php
namespace Acme\EventBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Participant
{
/**
* @Assert\Range(
* min = 120,
* max = 180,
* minMessage = "You must be at least {{ limit }}cm tall to enter",
* maxMessage = "You cannot be taller than {{ limit }}cm to enter"
* )
*/
protected $height;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<!-- src/Acme/EventBundle/Resources/config/validation.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
<class name="Acme\EventBundle\Entity\Participant">
<property name="height">
<constraint name="Range">
<option name="min">120</option>
<option name="max">180</option>
<option name="minMessage">You must be at least {{ limit }}cm tall to enter</option>
<option name="maxMessage">You cannot be taller than {{ limit }}cm to enter</option>
</constraint>
</property>
</class>
</constraint-mapping>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// src/Acme/EventBundle/Entity/Participant.php
namespace Acme\EventBundle\Entity;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints as Assert;
class Participant
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('height', new Assert\Range(array(
'min' => 120,
'max' => 180,
'minMessage' => 'You must be at least {{ limit }}cm tall to enter',
'maxMessage' => 'You cannot be taller than {{ limit }}cm to enter',
)));
}
}
Options
min
type: integer
This required option is the "min" value. Validation will fail if the given value is less than this min value.
max
type: integer
This required option is the "max" value. Validation will fail if the given value is greater than this max value.
minMessage
type: string
default: This value should be {{ limit }} or more.
The message that will be shown if the underlying value is less than the min option.
maxMessage
type: string
default: This value should be {{ limit }} or less.
The message that will be shown if the underlying value is more than the max option.
invalidMessage
type: string
default: This value should be a valid number.
The message that will be shown if the underlying value is not a number (per the is_numeric PHP function).