Valida que un valor es true. En concreto, este comprueba si el valor es exactamente true, exactamente el número entero 1, o exactamente la cadena «1».
Además consulta False.
Aplica a | propiedad o método |
Opciones | |
Clase | Symfony\Component\Validator\Constraints\True |
Validador | Symfony\Component\Validator\Constraints\TrueValidator |
Puedes aplicar esta restricción a propiedades (por ejemplo, una propiedad termsAccepted en un modelo de registro) o a un método captador. Esta es más potente en este último caso, donde puedes confirmar que un método devuelve un valor true. Por ejemplo, supongamos que tienes el siguiente método:
// src/Acme/BlogBundle/Entity/Author.php
namespace Acme\BlogBundle\Entity;
class Author
{
protected $token;
public function isTokenValid()
{
return $this->token == $this->generateToken();
}
}
A continuación, puedes limitar este método con True.
# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
getters:
tokenValid:
- "True": { message: "The token is invalid." }
// src/Acme/BlogBundle/Entity/Author.php
namespace Acme\BlogBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Autor
{
protected $token;
/**
* @Assert\True(message = "The token is invalid")
*/
public function isTokenValid()
{
return $this->token == $this->generateToken();
}
}
<!-- src/Acme/Blogbundle/Resources/config/validation.xml -->
<class name="Acme\BlogBundle\Entity\Author">
<getter property="tokenValid">
<constraint name="True">
<option name="message">The token is invalid.</option>
</constraint>
</getter>
</class>
// src/Acme/BlogBundle/Entity/Author.php
namespace Acme\BlogBundle\Entity;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\True;
class Autor
{
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();
}
}
Si isTokenValid() devuelve false, la validación fallará.