Skip to content
10 changes: 5 additions & 5 deletions book/validation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ cette méthode doit retourner ``true`` :
Acme\BlogBundle\Entity\Author:
getters:
passwordLegal:
- "True": { message: "Le mot de passe et le prénom doivent être différents" }
- "IsTrue": { message: "Le mot de passe et le prénom doivent être différents" }

.. code-block:: php-annotations

Expand All @@ -585,7 +585,7 @@ cette méthode doit retourner ``true`` :
class Author
{
/**
* @Assert\True(message = "Le mot de passe et le prénom doivent être différents")
* @Assert\IsTrue(message = "Le mot de passe et le prénom doivent être différents")
*/
public function isPasswordLegal()
{
Expand All @@ -598,7 +598,7 @@ cette méthode doit retourner ``true`` :
<!-- src/Acme/BlogBundle/Resources/config/validation.xml -->
<class name="Acme\BlogBundle\Entity\Author">
<getter property="passwordLegal">
<constraint name="True">
<constraint name="IsTrue">
<option name="message">Le mot de passe et le prénom doivent être différents</option>
</constraint>
</getter>
Expand All @@ -608,13 +608,13 @@ cette méthode doit retourner ``true`` :

// src/Acme/BlogBundle/Entity/Author.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\True;
use Symfony\Component\Validator\Constraints\IsTrue;

class Author
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addGetterConstraint('passwordLegal', new True(array(
$metadata->addGetterConstraint('passwordLegal', new IsTrue(array(
'message' => 'Le mot de passe et le prénom doivent être différents',
)));
}
Expand Down
4 changes: 3 additions & 1 deletion reference/constraints/False.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
False
=====

Cette classe est dépréciée et sera retirée de symfony 3.0. Utilisez plutôt la classe :doc:`IsFalse <IsFalse>`.

Valide que la valeur est ``false``. Spécifiquement, cette contrainte vérifie que la
valeur est exactement ``false``, exactement l'entier ``0``, ou exactement la chaîne
de caractères « ``0`` ».
Expand Down Expand Up @@ -108,4 +110,4 @@ message

**type**: ``string`` **default**: ``This value should be false``

Ce message s'affiche si la donnée n'est pas à ``False``.
Ce message s'affiche si la donnée n'est pas à ``False``.
111 changes: 111 additions & 0 deletions reference/constraints/IsFalse.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
IsFalse
=======

Valide que la valeur est ``false``. Spécifiquement, cette contrainte vérifie que la
valeur est exactement ``false``, exactement l'entier ``0``, ou exactement la chaîne
de caractères « ``0`` ».

Vous pouvez également voir :doc:`IsTrue <IsTrue>`.

+----------------+-----------------------------------------------------------------------+
| S'applique à | :ref:`propriété ou méthode<validation-property-target>` |
+----------------+-----------------------------------------------------------------------+
| Options | - `message`_ |
+----------------+-----------------------------------------------------------------------+
| Classe | :class:`Symfony\\Component\\Validator\\Constraints\\IsFalse` |
+----------------+-----------------------------------------------------------------------+
| Validateur | :class:`Symfony\\Component\\Validator\\Constraints\\IsFalseValidator` |
+----------------+-----------------------------------------------------------------------+

Utilisation de base
-------------------

La contrainte ``IsFalse`` s'applique à une propriété ou à une méthode « getter » mais
elle est le plus souvent utilisée dans le dernier cas. Par exemple, supposons
que vous vouliez garantir qu'une propriété ``state`` n'est *pas* dans un tableau
dynamique ``invalidStates``. Premièrement, vous créerez une méthode « getter »::

protected $state;

protected $invalidStates = array();

public function isStateInvalid()
{
return in_array($this->state, $this->invalidStates);
}

Dans ce cas, l'objet sous-jacent n'est valide que si la méthode ``isStateInvalid``
retourne **false** :

.. configuration-block::

.. code-block:: yaml

# src/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author
getters:
stateInvalid:
- "IsFalse":
message: Vous avez saisi un état non valide.

.. code-block:: php-annotations

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

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
/**
* @Assert\IsFalse(
* message = "Vous avez saisi un état non valide."
* )
*/
public function isStateInvalid()
{
// ...
}
}

.. code-block:: xml

<!-- src/Acme/BlogBundle/Resources/config/validation.xml -->
<class name="Acme\BlogBundle\Entity\Author">
<getter property="stateInvalid">
<constraint name="IsFalse">
<option name="message">Vous avez saisi un état non valide.</option>
</constraint>
</getter>
</class>

.. code-block:: php

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

use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints as Assert;

class Author
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addGetterConstraint('stateInvalid', new Assert\IsFalse());
}
}

.. caution::

Si vous utilisez YAML, assurez vous de bien mettre les guillemets autour de
``IsFalse`` (``"IsFalse"``), sinon YAML le convertira en Booléen.

Options
-------

message
~~~~~~~

**type**: ``string`` **default**: ``This value should be false``

Ce message s'affiche si la donnée n'est pas à ``False``.
84 changes: 84 additions & 0 deletions reference/constraints/IsNull.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
IsNull
======

Valide qu'une valeur est exactement égale à ``null``. Pour vous assurer qu'une
propriété soit simplement vide (une chaîne de caractères vide ou ``null``), lisez la
documentation de la contrainte :doc:`/reference/constraints/Blank`.
Pour vous assurer qu'une propriété ne soit pas nulle, lisez :doc:`/reference/constraints/NotNull`.


+----------------+-------------------------------------------------------------------------+
| S'applique à | :ref:`propriété ou méthode<validation-property-target>` |
+----------------+-------------------------------------------------------------------------+
| Options | - `message`_ |
+----------------+-------------------------------------------------------------------------+
| Classe | :class:`Symfony\\Component\\Validator\\Constraints\\IsNull` |
+----------------+-------------------------------------------------------------------------+
| Validateur | :class:`Symfony\\Component\\Validator\\Constraints\\IsNullValidator` |
+----------------+-------------------------------------------------------------------------+

Utilisation de base
-------------------

Si vous voulez vous assurer que la propriété ``firstName`` d'une classe ``Author``
soit exactement égale à ``null``, ajoutez le code suivant :

.. configuration-block::

.. code-block:: yaml

# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
properties:
firstName:
- 'IsNull': ~

.. code-block:: php-annotations

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

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
/**
* @Assert\IsNull()
*/
protected $firstName;
}

.. code-block:: xml

<!-- src/Acme/BlogBundle/Resources/config/validation.xml -->
<class name="Acme\BlogBundle\Entity\Author">
<property name="firstName">
<constraint name="IsNull" />
</property>
</class>

.. code-block:: php

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

use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints as Assert;

class Author
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('firstName', Assert\IsNull());
}
}

Options
-------

message
~~~~~~~

**type**: ``string`` **default**: ``This value should be null``

Le message qui sera affiché si la valeur n'est pas égale à ``null``.
121 changes: 121 additions & 0 deletions reference/constraints/IsTrue.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
IsTrue
======

Valide qu'une valeur est ``vraie`` (« true » en anglais). Spécifiquement, cette contrainte
vérifie que la valeur est exactement ``true``, exactement l'entier ``1``, ou exactement
la chaîne de caractère « ``1`` ».

Lisez également :doc:`IsFalse <IsFalse>`.

+----------------+-----------------------------------------------------------------------+
| S'applique à | :ref:`propriété ou méthode<validation-property-target>` |
+----------------+-----------------------------------------------------------------------+
| Options | - `message`_ |
+----------------+-----------------------------------------------------------------------+
| Classe | :class:`Symfony\\Component\\Validator\\Constraints\\IsTrue` |
+----------------+-----------------------------------------------------------------------+
| Validateur | :class:`Symfony\\Component\\Validator\\Constraints\\IsTrueValidator` |
+----------------+-----------------------------------------------------------------------+

Utilisation de base
-------------------

Cette contrainte peut être appliquée à une propriété (par exemple : une propriété
``termsAccepted`` d'un formulaire d'inscription) ou une méthode « getter ». Elle est
plus puissante dans le second cas, où vous pouvez vérifier que la méthode retourne true.
Par exemple, supposons que vous ayez la méthode suivante :

.. code-block:: php

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

class Author
{
protected $token;

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

Vous pouvez appliquer la contrainte ``IsTrue`` à cette méthode.

.. configuration-block::

.. code-block:: yaml

# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
getters:
tokenValid:
- "IsTrue": { message: "Le token est non valide." }

.. code-block:: php-annotations

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

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
protected $token;

/**
* @Assert\IsTrue(message = "The token is invalid")
*/
public function isTokenValid()
{
return $this->token == $this->generateToken();
}
}

.. code-block:: xml

<!-- src/Acme/Blogbundle/Resources/config/validation.xml -->
<class name="Acme\BlogBundle\Entity\Author">
<getter property="tokenValid">
<constraint name="IsTrue">
<option name="message">Le token est non valide.</option>
</constraint>
</getter>
</class>

.. code-block:: php

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

use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\IsTrue;

class Author
{
protected $token;

public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addGetterConstraint('tokenValid', new IsTrue(array(
'message' => 'Le token est non valide.',
)));
}

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

Si la méthode ``isTokenValid()`` retourne false, la validation échouera.

Options
-------

message
~~~~~~~

**type**: ``string`` **default**: ``This value should be true``

Le message qui sera affiché si la donnée ne vaut pas true.
4 changes: 3 additions & 1 deletion reference/constraints/Null.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Null
====

Cette classe est dépréciée et sera retirée de symfony 3.0. Utilisez plutôt la classe :doc:`IsNull <IsNull>`.

Valide qu'une valeur est exactement égale à ``null``. Pour vous assurer qu'une
propriété soit simplement vide (une chaîne de caractères vide ou ``null``), lisez la
documentation de la contrainte :doc:`/reference/constraints/Blank`.
Expand Down Expand Up @@ -81,4 +83,4 @@ message

**type**: ``string`` **default**: ``This value should be null``

Le message qui sera affiché si la valeur n'est pas égale à ``null``.
Le message qui sera affiché si la valeur n'est pas égale à ``null``.
Loading