You are browsing the documentation for Symfony 2.3 which is not maintained anymore.
Consider upgrading your projects to Symfony 5.2.
Isbn
Isbn¶
New in version 2.3: The Isbn constraint was introduced in Symfony 2.3.
This constraint validates that an International Standard Book Number (ISBN) is either a valid ISBN-10, a valid ISBN-13 or both.
Applies to | property or method |
Options | |
Class | Symfony\Component\Validator\Constraints\Isbn |
Validator | 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.
- Annotations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// src/AppBundle/Entity/Book.php namespace AppBundle\Entity; use Symfony\Component\Validator\Constraints as Assert; class Book { /** * @Assert\Isbn( * isbn10 = true, * isbn13 = true, * bothIsbnMessage = "This value is neither a valid ISBN-10 nor a valid ISBN-13." * ) */ protected $isbn; }
- YAML
1 2 3 4 5 6 7 8
# src/AppBundle/Resources/config/validation.yml AppBundle\Entity\Book: properties: isbn: - Isbn: isbn10: true isbn13: true bothIsbnMessage: This value is neither a valid ISBN-10 nor a valid ISBN-13.
- XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!-- src/AppBundle/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="AppBundle\Entity\Book"> <property name="isbn"> <constraint name="Isbn"> <option name="isbn10">true</option> <option name="isbn13">true</option> <option name="bothIsbnMessage"> This value is neither a valid ISBN-10 nor a valid ISBN-13. </option> </constraint> </property> </class> </constraint-mapping>
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// src/AppBundle/Entity/Book.php namespace AppBundle\Entity; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Constraints as Assert; class Book { protected $isbn; public static function loadValidatorMetadata(ClassMetadata $metadata) { $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.' ))); } }
Available Options¶
isbn10¶
type: boolean
default: false
If this required option is set to true
the constraint will check if
the code is a valid ISBN-10 code.
isbn13¶
type: boolean
default: false
If this required option is set to true
the constraint will check if
the code is a valid ISBN-13 code.
isbn10Message¶
type: string
default: This value is not a valid ISBN-10.
The message that will be shown if the isbn10 option is true and the given value does not pass the ISBN-10 check.
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.