Warning: You are browsing the documentation for Symfony 2.1, which is no longer maintained.

Read the updated version of this page for Symfony 5.3 (the current stable version).

Locale

Locale

Validates that a value is a valid locale.

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

Applies to property or method
Options
Class Symfony\Component\Validator\Constraints\Locale
Validator Symfony\Component\Validator\Constraints\LocaleValidator

Basic Usage

  • YAML
    1
    2
    3
    4
    5
    # src/UserBundle/Resources/config/validation.yml
    Acme\UserBundle\Entity\User:
        properties:
            locale:
                - Locale:
    
  • Annotations
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    // src/Acme/UserBundle/Entity/User.php
    namespace Acme\UserBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class User
    {
        /**
         * @Assert\Locale
         */
         protected $locale;
    }
    
  • XML
    1
    2
    3
    4
    5
    6
    <!-- src/Acme/UserBundle/Resources/config/validation.xml -->
    <class name="Acme\UserBundle\Entity\User">
        <property name="locale">
            <constraint name="Locale" />
        </property>
    </class>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    // 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.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.