| 123456789101112131415161718192021222324252627282930313233343536373839 |
- .. _customize.validators:
- ========================
- Using a Custom Validator
- ========================
- By default, ramsey/uuid validates UUID strings with the lenient validator
- :php:class:`Ramsey\\Uuid\\Validator\\GenericValidator`. This validator ensures
- the string is 36 characters, has the dashes in the correct places, and uses only
- hexadecimal values. It does not ensure the string is of the RFC 4122 variant or
- contains a valid version.
- The validator :php:class:`Ramsey\\Uuid\\Rfc4122\\Validator` validates UUID
- strings to ensure they match the RFC 4122 variant and contain a valid version.
- Since it is not enabled by default, you will need to configure ramsey/uuid to
- use it, if you want stricter validation.
- .. code-block:: php
- :caption: Set an alternate validator to use for Uuid::isValid()
- :name: customize.validators-example
- use Ramsey\Uuid\Rfc4122\Validator as Rfc4122Validator;
- use Ramsey\Uuid\Uuid;
- use Ramsey\Uuid\UuidFactory;
- $factory = new UuidFactory();
- $factory->setValidator(new Rfc4122Validator());
- Uuid::setFactory($factory);
- if (!Uuid::isValid('2bfb5006-087b-9553-5082-e8f39337ad29')) {
- echo "This UUID is not valid!\n";
- }
- .. tip::
- If you want to use your own validation, create a class that implements
- :php:interface:`Ramsey\\Uuid\\Validator\\ValidatorInterface` and use the
- same method to set your validator on the factory.
|