diff --git a/reference/constraints/Url.rst b/reference/constraints/Url.rst index a1ca08a4a34..a30c1f31ce1 100644 --- a/reference/constraints/Url.rst +++ b/reference/constraints/Url.rst @@ -9,6 +9,7 @@ Validates that a value is a valid URL string. | Options | - `message`_ | | | - `protocols`_ | | | - `payload`_ | +| | - `checkDNS`_ | +----------------+---------------------------------------------------------------------+ | Class | :class:`Symfony\\Component\\Validator\\Constraints\\Url` | +----------------+---------------------------------------------------------------------+ @@ -84,13 +85,216 @@ message This message is shown if the URL is invalid. +.. configuration-block:: + + .. code-block:: php-annotations + + // src/Acme/BlogBundle/Entity/Author.php + namespace Acme\BlogBundle\Entity; + + use Symfony\Component\Validator\Constraints as Assert; + + class Author + { + /** + * @Assert\Url( + * message = "The url '{{ value }}' is not a valid url", + * ) + */ + protected $bioUrl; + } + + .. code-block:: yaml + + # src/Acme/BlogBundle/Resources/config/validation.yml + Acme\BlogBundle\Entity\Author: + properties: + bioUrl: + - Url: + message: The url "{{ value }}" is not a valid url. + + .. code-block:: xml + + + + + + + + + + + + + + + .. code-block:: php + + // 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(array( + 'message' => 'The url "{{ value }}" is not a valid url.', + ))); + } + } + 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``. +The protocols considered to be valid for the URL. For example, if you also consider +the ``ftp://`` type URLs to be valid, redefine the ``protocols`` array, listing +``http``, ``https``, and also ``ftp``. + +.. configuration-block:: + + .. code-block:: php-annotations + + // src/Acme/BlogBundle/Entity/Author.php + namespace Acme\BlogBundle\Entity; + + use Symfony\Component\Validator\Constraints as Assert; + + class Author + { + /** + * @Assert\Url( + * protocols = {"http", "https", "ftp"} + * ) + */ + protected $bioUrl; + } + + .. code-block:: yaml + + # src/Acme/BlogBundle/Resources/config/validation.yml + Acme\BlogBundle\Entity\Author: + properties: + bioUrl: + - Url: { protocols: [http, https, ftp] } + + .. code-block:: xml + + + + + + + + + + + + + + + .. code-block:: php + + // 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(array( + 'protocols' => array('http', 'https', 'ftp'), + ))); + } + } .. include:: /reference/constraints/_payload-option.rst.inc + +checkDNS +~~~~~~~~ + +**type**: ``boolean`` **default**: ``false`` + +By default, this constraint just validates the syntax of the given URL. If you +also need to check whether the associated host exists, set the ``checkDNS`` +option to ``true``: + +.. configuration-block:: + + .. code-block:: php-annotations + + // src/Acme/BlogBundle/Entity/Author.php + namespace Acme\BlogBundle\Entity; + + use Symfony\Component\Validator\Constraints as Assert; + + class Author + { + /** + * @Assert\Url( + * checkDNS = true + * ) + */ + protected $bioUrl; + } + + .. code-block:: yaml + + # src/Acme/BlogBundle/Resources/config/validation.yml + Acme\BlogBundle\Entity\Author: + properties: + bioUrl: + - Url: { checkDNS: true } + + .. code-block:: xml + + + + + + + + + + + + + + + .. code-block:: php + + // 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(array( + 'checkDNS' => true, + ))); + } + } + +This option uses the :phpfunction:`checkdnsrr` PHP function to check the validity +of the ``ANY`` DNS record corresponding to the host associated with the given URL. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy