Type
Edit this pageWarning: You are browsing the documentation for Symfony 2.2, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
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
1 2 3 4 5 6 7
# src/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
properties:
age:
- Type:
type: integer
message: The value {{ value }} is not a valid {{ type }}.
1 2 3 4 5 6 7 8 9 10 11 12
// 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;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<!-- 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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// 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.
message
type: string
default: This value should be of type {{ type }}.
The message if the underlying data is not of the given type.