Locale

Validates that a value is a valid locale.

The “value” for each locale is either the two letter ISO 639-1 language code (e.g. fr), or the language code followed by an underscore (_), then the ISO 3166-1 alpha-2 country code (e.g. fr_FR for French/France).

Applies to property or method
Options
Class Locale
Validator LocaleValidator

Basic Usage

  • YAML
    # src/Acme/UserBundle/Resources/config/validation.yml
    Acme\UserBundle\Entity\User:
        properties:
            locale:
                - Locale: ~
    
  • Annotations
    // src/Acme/UserBundle/Entity/User.php
    namespace Acme\UserBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class User
    {
        /**
         * @Assert\Locale()
         */
         protected $locale;
    }
    
  • XML
    <!-- src/Acme/UserBundle/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\UserBundle\Entity\User">
            <property name="locale">
                <constraint name="Locale" />
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
    // src/Acme/UserBundle/Entity/User.php
    namespace Acme\UserBundle\Entity;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class User
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('locale', new Assert\Locale());
        }
    }
    

Options

message

type: string default: This value is not a valid locale.

This message is shown if the string is not a valid locale.