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

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

Url

Url

Validates that a value is a valid URL string.

Applies to property or method
Options
Class Symfony\Component\Validator\Constraints\Url
Validator Symfony\Component\Validator\Constraints\UrlValidator

Basic Usage

  • YAML
    1
    2
    3
    4
    5
    # src/BlogBundle/Resources/config/validation.yml
    Acme\BlogBundle\Entity\Author:
        properties:
            bioUrl:
                - Url: ~
    
  • Annotations
     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\Url()
         */
         protected $bioUrl;
    }
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    <!-- 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="bioUrl">
                <constraint name="Url" />
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    // 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('bioUrl', new Assert\Url());
        }
    }
    

Options

message

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

This message is shown if the URL is invalid.

protocols

type: array default: array('http', 'https')

The protocols that will be considered to be valid. For example, if you also needed ftp:// type URLs to be valid, you’d redefine the protocols array, listing http, https, and also ftp.

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