IdenticalTo

Nuovo nella versione 2.3: Questo vincolo è nuovo nella versione 2.3.

Valida che un valore sia identico a un altro valore, definito nelle opzioni. Per forzare che un valore non sia identico, vedere NotIdenticalTo.

Attenzione

Questo vincolo confronta tramite ===, quindi 3 e "3" non sono considerati uguali. Usare EqualTo per confrontare con ==.

Si applica a proprietà o metodo
Opzioni
Classe Symfony\Component\Validator\Constraints\IdenticalTo
Validatore Symfony\Component\Validator\Constraints\IdenticalToValidator

Uso di base

Se ci si vuole assicurare che la proprietà age di una classe Person sia uguale a 20 e sia un intero, si può fare come segue:

  • YAML
    # src/Acme/SocialBundle/Resources/config/validation.yml
    Acme\SocialBundle\Entity\Person:
        properties:
            age:
                - IdenticalTo:
                    value: 20
    
  • Annotazioni
    // src/Acme/SocialBundle/Entity/Person.php
    namespace Acme\SocialBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Person
    {
        /**
         * @Assert\IdenticalTo(
         *     value = 20
         * )
         */
        protected $age;
    }
    
  • XML
    <!-- src/Acme/SocialBundle/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\SocialBundle\Entity\Person">
            <property name="age">
                <constraint name="IdenticalTo">
                    <option name="value">20</option>
                </constraint>
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
    // src/Acme/SocialBundle/Entity/Person.php
    namespace Acme\SocialBundle\Entity;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Person
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('age', new Assert\IdenticalTo(array(
                'value' => 20,
            )));
        }
    }
    

Opzioni

value

tipo: mixed

Questa opzione è obbligatoria. Definisce il valore di confronto. Può essere una stringa, un numero o un oggetto.

message

tipo: stringa predefinito: This value should be identical to {{ compared_value_type }} {{ compared_value }}

Messaggio mostrato se il valore non è identico.

Tabella dei contenuti

Argomento precedente

NotEqualTo

Argomento successivo

NotIdenticalTo

Questa pagina