diff --git a/doc/book/validators/explode.md b/doc/book/validators/explode.md new file mode 100644 index 000000000..a2206ff3b --- /dev/null +++ b/doc/book/validators/explode.md @@ -0,0 +1,45 @@ +# Explode Validator + +`Zend\Validator\Explode` executes a validator for each item exploded. + +## Supported options + +The following options are supported for `Zend\Validator\Explode`: + +- `valueDelimiter`: Defines the delimiter used to explode the value to an array. It defaults to `,`. If the given value is an array, this option isn't used. +- `validator`: Sets the validator that will be executed on each exploded item. + +## Basic usage + +To validate if every item in an array is into a certain haystack: + +```php +$inArrayValidator = new Zend\Validator\InArray([ + 'haystack' => [1, 2, 3, 4, 5, 6] +]); + +$explodeValidator = new Zend\Validator\Explode([ + 'validator' => $inArrayValidator +]); + +$explodeValidator->isValid([1, 4, 6]); // returns true +$explodeValidator->isValid([1, 4, 6, 8]); // returns false +``` + +## Exploding strings + +To validate if every e-mail in an string is into a certain name list: + +```php +$inEmailListValidator = new Zend\Validator\InArray([ + 'haystack' => ['joseph@test.com', 'mark@test.com', 'lucia@test.com'] +]); + +$explodeValidator = new Zend\Validator\Explode([ + 'validator' => $inEmailListValidator, + 'valueDelimiter' => ',' +]); + +$explodeValidator->isValid('joseph@test.com,mark@test.com'); // returns true +$explodeValidator->isValid('lucia@test.com,maria@test.com'); // returns false +``` diff --git a/mkdocs.yml b/mkdocs.yml index 277caf7ff..7bc382a3e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -17,6 +17,7 @@ pages: - "Db\\RecordExists and Db\\NoRecordExists": validators/db.md - Digits: validators/digits.md - EmailAddress: validators/email-address.md + - Explode: validators/explode.md - GreaterThan: validators/greater-than.md - Hex: validators/hex.md - Hostname: validators/hostname.md