English spoken conference
WARNING: You are browsing the documentation for Symfony 2.0 which is not maintained anymore. Consider upgrading your projects to Symfony 4.3.

Max

2.0 version
Unmaintained

Max

Validates that a given number is less than some maximum number.

Applies to property or method
Options
Class Max
Validator MaxValidator

Basic Usage

To verify that the "age" field of a class is not greater than "50", you might add the following:

  • YAML
    1
    2
    3
    4
    5
    # src/Acme/EventBundle/Resources/config/validation.yml
    Acme\EventBundle\Entity\Participant:
        properties:
            age:
                - Max: { limit: 50, message: You must be 50 or under to enter. }
    
  • Annotations
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    // src/Acme/EventBundle/Entity/Participant.php
    namespace Acme\EventBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Participant
    {
        /**
         * @Assert\Max(limit = 50, message = "You must be 50 or under to enter.")
         */
         protected $age;
    }
    
  • XML
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- src/Acme/EventBundle/Resources/config/validation.yml -->
    <class name="Acme\EventBundle\Entity\Participant">
        <property name="age">
            <constraint name="Max">
                <option name="limit">50</option>
                <option name="message">You must be 50 or under to enter.</option>
            </constraint>
        </property>
    </class>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    // 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('age', new Assert\Max(array(
                'limit'   => 50,
                'message' => 'You must be 50 or under to enter.',
            )));
        }
    }
    

Options

limit

type: integer [default option]

This required option is the "max" value. Validation will fail if the given value is greater than this max value.

message

type: string default: This value should be {{ limit }} or less

The message that will be shown if the underlying value is greater than the limit 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).

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.