Currency
Edit this pageWarning: You are browsing the documentation for Symfony 2.4, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
Currency
2.3
The Currency
constraint was introduced in Symfony 2.3.
Validates that a value is a valid 3-letter ISO 4217 currency name.
Applies to | property or method |
Options | |
Class | Currency |
Validator | CurrencyValidator |
Basic Usage
If you want to ensure that the currency
property of an Order
is a valid
currency, you could do the following:
1 2 3 4 5
# src/Acme/EcommerceBundle/Resources/config/validation.yml
Acme\EcommerceBundle\Entity\Order:
properties:
currency:
- Currency: ~
1 2 3 4 5 6 7 8 9 10 11 12
// src/Acme/EcommerceBundle/Entity/Order.php
namespace Acme\EcommerceBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Order
{
/**
* @Assert\Currency
*/
protected $currency;
}
1 2 3 4 5 6 7 8 9 10 11 12
<!-- src/Acme/EcommerceBundle/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\EcommerceBundle\Entity\Order">
<property name="currency">
<constraint name="Currency" />
</property>
</class>
</constraint-mapping>
1 2 3 4 5 6 7 8 9 10 11 12 13
// src/Acme/EcommerceBundle/Entity/Order.php
namespace Acme\SocialBundle\Entity;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints as Assert;
class Order
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('currency', new Assert\Currency());
}
}
This work, including the code samples, is licensed under a
Creative Commons BY-SA 3.0
license.