Type¶
Validates that a value is of a specific data type. For example, if a variable should be an array, you can use this constraint with the array type option to validate this.
Applies to | property or method |
Options | |
Class | Type |
Validator | TypeValidator |
Basic Usage¶
- YAML
# src/Acme/BlogBundle/Resources/config/validation.yml Acme\BlogBundle\Entity\Author: properties: age: - Type: type: integer message: The value {{ value }} is not a valid {{ type }}.
- Annotations
// src/Acme/BlogBundle/Entity/Author.php namespace Acme\BlogBundle\Entity; use Symfony\Component\Validator\Constraints as Assert; class Author { /** * @Assert\Type(type="integer", message="The value {{ value }} is not a valid {{ type }}.") */ protected $age; }
- 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"> <property name="age"> <constraint name="Type"> <option name="type">integer</option> <option name="message">The value {{ value }} is not a valid {{ type }}.</option> </constraint> </property> </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 as Assert; class Author { public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('age', new Assert\Type(array( 'type' => 'integer', 'message' => 'The value {{ value }} is not a valid {{ type }}.', ))); } }
Options¶
type¶
type: string [default option]
This required option is the fully qualified class name or one of the PHP datatypes as determined by PHP’s is_ functions.
Also, you can use ctype_ functions from corresponding built-in PHP extension. Consider a list of ctype functions:
Make sure that the proper locale is set before using one of these.
message¶
type: string default: This value should be of type {{ type }}.
The message if the underlying data is not of the given type.