Range

Valida che un dato numero sia tra un minimo e un massimo.

Si applica a proprietà o metodo
Opzioni
Classe Symfony\Component\Validator\Constraints\Range
Validatore Symfony\Component\Validator\Constraints\RangeValidator

Uso di base

Per verificare che un campo “height” di una classe sia tra “120” e “180”, si può aggiungere quanto segue:

  • YAML
    # src/Acme/EventBundle/Resources/config/validation.yml
    Acme\EventBundle\Entity\Participant:
        properties:
            height:
                - Range:
                    min: 120
                    max: 180
                    minMessage: Devi essere alto almeno 120cm per entrare
                    maxMessage: Non puoi essere più alto di 180cm per entrare
    
  • Annotazioni
    // 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 = "Devi essere alto almeno 120cm per entrare",
         *      maxMessage="Non puoi essere più alto di 180cm per entrare"
         * )
         */
         protected $height;
    }
    
  • XML
    <!-- 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">Devi essere alto almeno 120cm per entrare</option>
                    <option name="maxMessage">Non puoi essere più alto di 180cm per entrare</option>
                </constraint>
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
    // 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' => 'Devi essere alto almeno 120cm per entrare',
                'maxMessage' => 'Non puoi essere più alto di 180cm per entrare',
            )));
        }
    }
    

Opzioni

min

tipo: intero [default option]

Questa opzione obbligatoria è il valore minimo. La validazione fallirà se il valore dato è inferiore a questo valore.

max

tipo: intero [default option]

Questa opzione obbligatoria è il valore massimo. La validazione fallirà se il valore dato è superiore a questo valore.

minMessage

tipo: stringa predefinito: This value should be {{ limit }} or more.

Il messaggio mostrato se il valore sottostante è inferiore all’opzione min.

maxMessage

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

Il messaggio mostrato se il valore sottostante è superiore all’opzione max.

invalidMessage

tipo: string default: This value should be a valid number.

Il messaggio mostrato se il valore sottostante non è un numero (in base alla funzione is_numeric di PHP).

Tabella dei contenuti

Argomento precedente

Uuid

Argomento successivo

EqualTo

Questa pagina