True

Valida che un valore sia true. Nello specifico, controlla se il valore sia esattamente true, esattamente l’intero 1 o esattamente la stringa “1”.

Veder anche False.

Si applica a proprietà o metodo
Opzioni
Classe Symfony\Component\Validator\Constraints\True
Validatore Symfony\Component\Validator\Constraints\TrueValidator

Uso di base

Questo vincolo si può applicare a proprietà (p.e. una proprietà termsAccepted in un modello di registrazione) o a un metodo “getter”. È molto potente nel secondo caso, in cui si può asserire che un metodo restituisca il valore true. Per esempio, si supponga di avere il seguente metodo:

// src/Acme/BlogBundle/Entity/Author.php
namespace Acme\BlogBundle\Entity;

class Author
{
    protected $token;

    public function isTokenValid()
    {
        return $this->token == $this->generateToken();
    }
}

Si può vincolare questo metodo con True.

  • YAML
    # src/Acme/BlogBundle/Resources/config/validation.yml
    Acme\BlogBundle\Entity\Author:
        getters:
            tokenValid:
                - 'True': { message: "The token is invalid." }
    
  • Annotazioni
    // src/Acme/BlogBundle/Entity/Author.php
    namespace Acme\BlogBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Author
    {
        protected $token;
    
        /**
         * @Assert\True(message = "The token is invalid")
         */
        public function isTokenValid()
        {
            return $this->token == $this->generateToken();
        }
    }
    
  • XML
    <!-- src/Acme/Blogbundle/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\BlogBundle\Entity\Author">
            <getter property="tokenValid">
                <constraint name="True">
                    <option name="message">The token is invalid.</option>
                </constraint>
            </getter>
        </class>
    </constraint-mapping>
    
  • PHP
    // src/Acme/BlogBundle/Entity/Author.php
    namespace Acme\BlogBundle\Entity;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints\True;
    
    class Author
    {
        protected $token;
    
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addGetterConstraint('tokenValid', new True(array(
                'message' => 'The token is invalid.',
            )));
        }
    
        public function isTokenValid()
        {
            return $this->token == $this->generateToken();
        }
    }
    

Se isTokenValid() restituisce false, la validazione fallisce.

Attenzione

Se si usa YAML, assicurarsi di aggiungere le virgolette a True ('True'), altrimenti sarà convertito da YAML in un valore booleano true.

Opzioni

message

tipo: stringa predefinito: This value should be true

Messaggio mostrato se il dato sottostante non è true.

Tabella dei contenuti

Argomento precedente

Null

Argomento successivo

False

Questa pagina