Json
This constraint is used to ensure that a value has the proper format of a JSON-encoded string.
This validation constraint is deprecated and will be removed in v8.0. Use Symfony’s own Json validation constraint instead, which is introduced in Symfony 4.3.
Applies to:
Options:
Basic Usage
Attributes
// src/AppBundle/Entity/Transaction.php
namespace AppBundle\Entity;
use DarkWebDesign\SymfonyAddonConstraints as AddonAssert;
class Transaction
{
#[AddonAssert\Json]
protected $data;
}
YAML
# src/AppBundle/Resources/config/validation.yml
AppBundle\Entity\Transaction:
properties:
data:
- DarkWebDesign\SymfonyAddonConstraints\Json: ~
XML
<!-- src/AppBundle/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="AppBundle\Entity\Transaction">
<property name="data">
<constraint name="DarkWebDesign\SymfonyAddonConstraints\Json" />
</property>
</class>
</constraint-mapping>
PHP
// src/AppBundle/Entity/Transaction.php
namespace AppBundle\Entity;
use DarkWebDesign\SymfonyAddonConstraints as AddonAssert;
use Symfony\Component\Validator\Mapping\ClassMetadata;
class Transaction
{
protected $data;
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('data', new AddonAssert\Json());
}
}
Available Options
message
type: string
default: This value is not valid JSON.
The default message supplied when the value does not pass the JSON check.