From d79e7dfbca9e32f8eca5dd07590c19d34280cdfa Mon Sep 17 00:00:00 2001 From: Abdellatif Ait boudad Date: Sun, 21 Apr 2013 02:25:52 +0000 Subject: [PATCH 1/4] [reference][constraints] Adding documentation for the Isbn validation. --- reference/constraints/Isbn.rst | 131 +++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 reference/constraints/Isbn.rst diff --git a/reference/constraints/Isbn.rst b/reference/constraints/Isbn.rst new file mode 100644 index 00000000000..c6a22647069 --- /dev/null +++ b/reference/constraints/Isbn.rst @@ -0,0 +1,131 @@ +Isbn +==== + +This constraint permits that a ISBN (International Standard Book Numbers) +number is either a valid ISBN-10, a valid ISBN-13 code or both on a value. + ++----------------+----------------------------------------------------------------------+ +| Applies to | :ref:`property or method` | ++----------------+----------------------------------------------------------------------+ +| Options | - `isbn10Message`_ | +| | - `isbn13Message`_ | +| | - `bothIsbnMessage`_ | +| | - `isbn10`_ | +| | - `isbn13`_ | ++----------------+----------------------------------------------------------------------+ +| Class | :class:`Symfony\\Component\\Validator\\Constraints\\Isbn` | ++----------------+----------------------------------------------------------------------+ +| Validator | :class:`Symfony\\Component\\Validator\\Constraints\\IsbnValidator` | ++----------------+----------------------------------------------------------------------+ + +Basic Usage +----------- + +To use the ``Isbn`` validator, simply apply it to a property or method +on an object that will contain a ISBN number. + +.. configuration-block:: + + .. code-block:: yaml + + # src/Acme/DemoBundle/Resources/config/validation.yml + Acme\DemoBundle\Entity\AcmeEntity: + properties: + isbn: + - Isbn: + isbn10: true + isbn13: true + bothIsbnMessage: This value is neither a valid ISBN-10 nor a valid ISBN-13. + + .. code-block:: xml + + + + + + + + + + + + + .. code-block:: php-annotations + + // src/Acme/DemoBundle/Entity/AcmeEntity.php + use Symfony\Component\Validator\Constraints as Assert; + + class AcmeEntity + { + /** + * @Assert\Isbn( + * isbn10 = true, + * isbn13 = true, + * bothIsbnMessage = "This value is neither a valid ISBN-10 nor a valid ISBN-13." + * ) + */ + protected $isbn; + } + + .. code-block:: php + + // src/Acme/DemoBundle/Entity/AcmeEntity.php + use Symfony\Component\Validator\Mapping\ClassMetadata; + use Symfony\Component\Validator\Constraints\Isbn; + + class AcmeEntity + { + protected $isbn; + + public static function loadValidatorMetadata(ClassMetadata $metadata) + { + $metadata->addPropertyConstraint('isbn', new Isbn(array( + 'isbn10' => true, + 'isbn13' => true, + 'bothIsbnMessage' => 'This value is neither a valid ISBN-10 nor a valid ISBN-13.' + ))); + } + } + +Available Options +----------------- + +isbn10Message +~~~~~~~~~~~~~ + +**type**: ``string`` **default**: ``This value is not a valid ISBN-10.`` + +The message that will be shown if the option isbn10 is true +and the given value does not pass the ISBN-10 check. + +isbn13Message +~~~~~~~~~~~~~ + +**type**: ``string`` **default**: ``This value is not a valid ISBN-13.`` + +The message that will be shown if the option isbn13 is true +and the given value does not pass the ISBN-13 check. + +bothIsbnMessage +~~~~~~~~~~~~~~~ + +**type**: ``string`` **default**: ``This value is neither a valid ISBN-10 nor a valid ISBN-13.`` + +The message that will be shown if the options (isbn10, isbn13) is true +and the given value does not pass the ISBN-13 nor ISBN-13 check. + +isbn10 +~~~~~~ + +**type**: ``boolean`` [:ref:`default option`] + +If this required option is set to ``true`` the constraint will check +if the code is a valid ISBN-10 code. + +isbn13 +~~~~~~ + +**type**: ``boolean`` [:ref:`default option`] + +If this required option is set to ``true`` the constraint will check +if the code is a valid ISBN-13 code. \ No newline at end of file From 0591adf733cc4978e61ccb044d4edac6058f3a29 Mon Sep 17 00:00:00 2001 From: Abdellatif Ait boudad Date: Sun, 21 Apr 2013 09:09:08 +0000 Subject: [PATCH 2/4] Added Some updates --- reference/constraints/Isbn.rst | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/reference/constraints/Isbn.rst b/reference/constraints/Isbn.rst index c6a22647069..6ed9f502d30 100644 --- a/reference/constraints/Isbn.rst +++ b/reference/constraints/Isbn.rst @@ -28,8 +28,8 @@ on an object that will contain a ISBN number. .. code-block:: yaml - # src/Acme/DemoBundle/Resources/config/validation.yml - Acme\DemoBundle\Entity\AcmeEntity: + # src/Acme/BookcaseBunlde/Resources/config/validation.yml + Acme\BookcaseBunlde\Entity\Book: properties: isbn: - Isbn: @@ -39,8 +39,8 @@ on an object that will contain a ISBN number. .. code-block:: xml - - + + @@ -52,10 +52,10 @@ on an object that will contain a ISBN number. .. code-block:: php-annotations - // src/Acme/DemoBundle/Entity/AcmeEntity.php + // src/Acme/BookcaseBunlde/Entity/Book.php use Symfony\Component\Validator\Constraints as Assert; - class AcmeEntity + class Book { /** * @Assert\Isbn( @@ -69,17 +69,19 @@ on an object that will contain a ISBN number. .. code-block:: php - // src/Acme/DemoBundle/Entity/AcmeEntity.php + // src/Acme/BookcaseBunlde/Entity/Book.php + namespace Acme\BookcaseBunlde\Entity; + use Symfony\Component\Validator\Mapping\ClassMetadata; - use Symfony\Component\Validator\Constraints\Isbn; + use Symfony\Component\Validator\Constraints as Assert; - class AcmeEntity + class Book { protected $isbn; public static function loadValidatorMetadata(ClassMetadata $metadata) { - $metadata->addPropertyConstraint('isbn', new Isbn(array( + $metadata->addPropertyConstraint('isbn', new Assert\Isbn(array( 'isbn10' => true, 'isbn13' => true, 'bothIsbnMessage' => 'This value is neither a valid ISBN-10 nor a valid ISBN-13.' @@ -128,4 +130,4 @@ isbn13 **type**: ``boolean`` [:ref:`default option`] If this required option is set to ``true`` the constraint will check -if the code is a valid ISBN-13 code. \ No newline at end of file +if the code is a valid ISBN-13 code. From 838bb8b917e3b916cc92425c74f2573405448232 Mon Sep 17 00:00:00 2001 From: Abdellatif Ait boudad Date: Mon, 22 Apr 2013 07:52:54 +0000 Subject: [PATCH 3/4] [2.3] Add note about implemented version --- reference/constraints/Isbn.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/reference/constraints/Isbn.rst b/reference/constraints/Isbn.rst index 6ed9f502d30..d4502dd141d 100644 --- a/reference/constraints/Isbn.rst +++ b/reference/constraints/Isbn.rst @@ -1,6 +1,9 @@ Isbn ==== +.. versionadded:: New in version 2.3: + The Isbn validation were added in Symfony 2.3. + This constraint permits that a ISBN (International Standard Book Numbers) number is either a valid ISBN-10, a valid ISBN-13 code or both on a value. From 9855c3a7b18d91bee7094a94d611222645f295f0 Mon Sep 17 00:00:00 2001 From: Abdellatif Ait boudad Date: Thu, 25 Apr 2013 22:26:58 +0000 Subject: [PATCH 4/4] Validation Constraints Reference: Isbn --- reference/constraints.rst | 1 + reference/constraints/map.rst.inc | 1 + 2 files changed, 2 insertions(+) diff --git a/reference/constraints.rst b/reference/constraints.rst index 1ed9b35649b..4aa70dfef19 100644 --- a/reference/constraints.rst +++ b/reference/constraints.rst @@ -38,6 +38,7 @@ Validation Constraints Reference constraints/CardScheme constraints/Luhn + constraints/Isbn constraints/Callback constraints/All diff --git a/reference/constraints/map.rst.inc b/reference/constraints/map.rst.inc index 3d10d637ccf..0bcff75f82c 100644 --- a/reference/constraints/map.rst.inc +++ b/reference/constraints/map.rst.inc @@ -55,6 +55,7 @@ Financial Constraints * :doc:`CardScheme ` * :doc:`Luhn ` +* :doc:`Isbn ` Other Constraints ~~~~~~~~~~~~~~~~~