True
Edit this pageWarning: You are browsing the documentation for Symfony 2.4, which is no longer maintained.
Consider upgrading your projects to Symfony 6.3.
True
Validates that a value is true
. Specifically, this checks to see if
the value is exactly true
, exactly the integer 1
, or exactly the
string "1
".
Also see False.
Applies to | property or method |
Options | |
Class | True |
Validator | TrueValidator |
Basic Usage
This constraint can be applied to properties (e.g. a termsAccepted
property
on a registration model) or to a "getter" method. It's most powerful in the
latter case, where you can assert that a method returns a true value. For
example, suppose you have the following method:
1 2 3 4 5 6 7 8 9 10 11 12
// src/Acme/BlogBundle/Entity/Author.php
namespace Acme\BlogBundle\Entity;
class Author
{
protected $token;
public function isTokenValid()
{
return $this->token == $this->generateToken();
}
}
Then you can constrain this method with True
.
1 2 3 4 5 6
# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
getters:
tokenValid:
- 'True':
message: The token is invalid.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// 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();
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!-- 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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
// 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();
}
}
If the isTokenValid()
returns false, the validation will fail.
Caution
When using YAML, be sure to surround True
with quotes ('True'
)
or else YAML will convert this into a true
Boolean value.