diff --git a/.gitattributes b/.gitattributes
index 7325c6902..16d8d2934 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,8 +1,10 @@
-/test export-ignore
-/vendor export-ignore
-.coveralls.yml export-ignore
-.gitattributes export-ignore
-.gitignore export-ignore
-.travis.yml export-ignore
-.php_cs export-ignore
-phpunit.xml.dist export-ignore
+/.coveralls.yml export-ignore
+/.gitattributes export-ignore
+/.gitignore export-ignore
+/.travis.yml export-ignore
+/composer.lock export-ignore
+/docs/ export-ignore
+/mkdocs.yml export-ignore
+/phpcs.xml export-ignore
+/phpunit.xml.dist export-ignore
+/test/ export-ignore
diff --git a/.gitignore b/.gitignore
index 1f2615af0..245087af8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,16 +1,7 @@
-.buildpath
-.DS_Store
-.idea
-.project
-.settings/
-.*.sw*
-.*.un~
-nbproject
-tmp/
-doc/html/
-zf-mkdoc-theme/
-
-clover.xml
-coveralls-upload.json
-phpunit.xml
-vendor
+/clover.xml
+/coveralls-upload.json
+/docs/html/
+/phpunit.xml
+/vendor/
+/zf-mkdoc-theme.tgz
+/zf-mkdoc-theme/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b1343bad8..adf37e9f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
All notable changes to this project will be documented in this file, in reverse chronological order by release.
-## 2.12.1 - TBD
+## 2.12.1 - 2019-10-12
### Added
diff --git a/LICENSE.md b/LICENSE.md
index dbb1b49c0..4bc22a4a4 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,16 +1,15 @@
-Copyright (c) 2005-2015, Zend Technologies USA, Inc.
-
+Copyright (c) 2005-2019, Zend Technologies USA, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
-- Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
+- Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
- Neither the name of Zend Technologies USA, Inc. nor the names of its
contributors may be used to endorse or promote products derived from this
diff --git a/README.md b/README.md
index 7b335bd01..b31265106 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,26 @@
# zend-validator
[![Build Status](https://secure.travis-ci.org/zendframework/zend-validator.svg?branch=master)](https://secure.travis-ci.org/zendframework/zend-validator)
-[![Coverage Status](https://coveralls.io/repos/zendframework/zend-validator/badge.svg?branch=master)](https://coveralls.io/r/zendframework/zend-validator?branch=master)
+[![Coverage Status](https://coveralls.io/repos/github/zendframework/zend-validator/badge.svg?branch=master)](https://coveralls.io/github/zendframework/zend-validator?branch=master)
zend-validator provides a set of commonly needed validators. It also provides a
simple validator chaining mechanism by which multiple validators may be applied
to a single datum in a user-defined order.
-- File issues at https://github.com/zendframework/zend-validator/issues
-- Documentation is at https://docs.zendframework.com/zend-validator/
+## Installation
+
+Run the following to install this library:
+
+```bash
+$ composer require zendframework/zend-validator
+```
+
+## Documentation
+
+Browse the documentation online at https://docs.zendframework.com/zend-validator/
+
+## Support
+
+* [Issues](https://github.com/zendframework/zend-validator/issues/)
+* [Chat](https://zendframework-slack.herokuapp.com/)
+* [Forum](https://discourse.zendframework.com/)
diff --git a/composer.json b/composer.json
index 0d632d9dc..89fa4c7da 100644
--- a/composer.json
+++ b/composer.json
@@ -1,16 +1,19 @@
{
"name": "zendframework/zend-validator",
- "description": "provides a set of commonly needed validators",
+ "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria",
"license": "BSD-3-Clause",
"keywords": [
- "zf2",
+ "zendframework",
+ "zf",
"validator"
],
- "homepage": "https://github.com/zendframework/zend-validator",
- "autoload": {
- "psr-4": {
- "Zend\\Validator\\": "src/"
- }
+ "support": {
+ "docs": "https://docs.zendframework.com/zend-validator/",
+ "issues": "https://github.com/zendframework/zend-validator/issues",
+ "source": "https://github.com/zendframework/zend-validator",
+ "rss": "https://github.com/zendframework/zend-validator/releases.atom",
+ "chat": "https://zendframework-slack.herokuapp.com",
+ "forum": "https://discourse.zendframework.com/c/questions/components"
},
"require": {
"php": "^5.6 || ^7.0",
@@ -43,8 +46,19 @@
"zendframework/zend-session": "Zend\\Session component, ^2.8; required by the Csrf validator",
"zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators"
},
- "minimum-stability": "dev",
- "prefer-stable": true,
+ "autoload": {
+ "psr-4": {
+ "Zend\\Validator\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "ZendTest\\Validator\\": "test/"
+ }
+ },
+ "config": {
+ "sort-packages": true
+ },
"extra": {
"branch-alias": {
"dev-master": "2.12.x-dev",
@@ -55,11 +69,6 @@
"config-provider": "Zend\\Validator\\ConfigProvider"
}
},
- "autoload-dev": {
- "psr-4": {
- "ZendTest\\Validator\\": "test/"
- }
- },
"scripts": {
"check": [
"@cs-check",
diff --git a/composer.lock b/composer.lock
index d016f8795..aa75f44d4 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "b111c3e3e3eed8692208b6748d67742f",
+ "content-hash": "1a7fd31aa89bfed8ec74f609189ec441",
"packages": [
{
"name": "container-interop/container-interop",
@@ -943,6 +943,7 @@
"mock",
"xunit"
],
+ "abandoned": true,
"time": "2018-08-09T05:50:03+00:00"
},
{
@@ -2608,9 +2609,9 @@
}
],
"aliases": [],
- "minimum-stability": "dev",
+ "minimum-stability": "stable",
"stability-flags": [],
- "prefer-stable": true,
+ "prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "^5.6 || ^7.0"
diff --git a/doc/book/index.html b/doc/book/index.html
deleted file mode 100644
index 329950040..000000000
--- a/doc/book/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
zend-validator
-
-
- Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria.
-
-
-
$ composer require zendframework/zend-validator
-
-
-
diff --git a/CONDUCT.md b/docs/CODE_OF_CONDUCT.md
similarity index 96%
rename from CONDUCT.md
rename to docs/CODE_OF_CONDUCT.md
index c663d2be9..02fafcd1a 100644
--- a/CONDUCT.md
+++ b/docs/CODE_OF_CONDUCT.md
@@ -1,6 +1,6 @@
# Contributor Code of Conduct
-The Zend Framework project adheres to [The Code Manifesto](http://codemanifesto.com)
+This project adheres to [The Code Manifesto](http://codemanifesto.com)
as its guidelines for contributor interactions.
## The Code Manifesto
diff --git a/CONTRIBUTING.md b/docs/CONTRIBUTING.md
similarity index 54%
rename from CONTRIBUTING.md
rename to docs/CONTRIBUTING.md
index 50cc61965..2a687c859 100644
--- a/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -2,73 +2,43 @@
## RESOURCES
-If you wish to contribute to Zend Framework, please be sure to
+If you wish to contribute to this project, please be sure to
read/subscribe to the following resources:
- - [Coding Standards](https://github.com/zendframework/zf2/wiki/Coding-Standards)
- - [Contributor's Guide](http://framework.zend.com/participate/contributor-guide)
- - ZF Contributor's mailing list:
- Archives: http://zend-framework-community.634137.n4.nabble.com/ZF-Contributor-f680267.html
- Subscribe: zf-contributors-subscribe@lists.zend.com
- - ZF Contributor's IRC channel:
- #zftalk.dev on Freenode.net
+ - [Coding Standards](https://github.com/zendframework/zend-coding-standard)
+ - [Forums](https://discourse.zendframework.com/c/contributors)
+ - [Chat](https://zendframework-slack.herokuapp.com)
+ - [Code of Conduct](CODE_OF_CONDUCT.md)
-If you are working on new features or refactoring [create a proposal](https://github.com/zendframework/zend-validator/issues/new).
-
-## Reporting Potential Security Issues
-
-If you have encountered a potential security vulnerability, please **DO NOT** report it on the public
-issue tracker: send it to us at [zf-security@zend.com](mailto:zf-security@zend.com) instead.
-We will work with you to verify the vulnerability and patch it as soon as possible.
-
-When reporting issues, please provide the following information:
-
-- Component(s) affected
-- A description indicating how to reproduce the issue
-- A summary of the security vulnerability and impact
-
-We request that you contact us via the email address above and give the project
-contributors a chance to resolve the vulnerability and issue a new release prior
-to any public exposure; this helps protect users and provides them with a chance
-to upgrade and/or update in order to protect their applications.
-
-For sensitive email communications, please use [our PGP key](http://framework.zend.com/zf-security-pgp-key.asc).
+If you are working on new features or refactoring
+[create a proposal](https://github.com/zendframework/zend-validator/issues/new).
## RUNNING TESTS
-> ### Note: testing versions prior to 2.4
->
-> This component originates with Zend Framework 2. During the lifetime of ZF2,
-> testing infrastructure migrated from PHPUnit 3 to PHPUnit 4. In most cases, no
-> changes were necessary. However, due to the migration, tests may not run on
-> versions < 2.4. As such, you may need to change the PHPUnit dependency if
-> attempting a fix on such a version.
-
To run tests:
- Clone the repository:
```console
- $ git clone git@github.com:zendframework/zend-validator.git
- $ cd
+ $ git clone git://github.com/zendframework/zend-validator.git
+ $ cd zend-validator
```
- Install dependencies via composer:
```console
- $ curl -sS https://getcomposer.org/installer | php --
- $ ./composer.phar install
+ $ composer install
```
- If you don't have `curl` installed, you can also download `composer.phar` from https://getcomposer.org/
+ If you don't have `composer` installed, please download it from https://getcomposer.org/download/
-- Run the tests via `phpunit` and the provided PHPUnit config, like in this example:
+- Run the tests using the "test" command shipped in the `composer.json`:
```console
- $ ./vendor/bin/phpunit
+ $ composer test
```
-You can turn on conditional tests with the phpunit.xml file.
+You can turn on conditional tests with the `phpunit.xml` file.
To do so:
- Copy `phpunit.xml.dist` file to `phpunit.xml`
@@ -77,24 +47,22 @@ To do so:
## Running Coding Standards Checks
-This component uses [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) for coding
-standards checks, and provides configuration for our selected checks.
-`phpcs` is installed by default via Composer.
+First, ensure you've installed dependencies via composer, per the previous
+section on running tests.
-To run checks only:
+To run CS checks only:
```console
$ composer cs-check
```
-`phpcs` also includes a tool for fixing most CS violations, `phpcbf`:
-
+To attempt to automatically fix common CS issues:
```console
$ composer cs-fix
```
-If you allow `phpcbf` to fix CS issues, please re-run the tests to ensure
+If the above fixes any CS issues, please re-run the tests to ensure
they pass, and make sure you add and commit the changes after verification.
## Recommended Workflow for Contributions
@@ -103,12 +71,12 @@ Your first step is to establish a public repository from which we can
pull your work into the master repository. We recommend using
[GitHub](https://github.com), as that is where the component is already hosted.
-1. Setup a [GitHub account](http://github.com/), if you haven't yet
-2. Fork the repository (http://github.com/zendframework/zend-validator)
+1. Setup a [GitHub account](https://github.com/), if you haven't yet
+2. Fork the repository (https://github.com/zendframework/zend-validator)
3. Clone the canonical repository locally and enter it.
```console
- $ git clone git://github.com:zendframework/zend-validator.git
+ $ git clone git://github.com/zendframework/zend-validator.git
$ cd zend-validator
```
@@ -188,15 +156,7 @@ To send a pull request, you have two options.
If using GitHub, you can do the pull request from there. Navigate to
your repository, select the branch you just created, and then select the
"Pull Request" button in the upper right. Select the user/organization
-"zendframework" as the recipient.
-
-If using your own repository - or even if using GitHub - you can use `git
-format-patch` to create a patchset for us to apply; in fact, this is
-**recommended** for security-related patches. If you use `format-patch`, please
-send the patches as attachments to:
-
-- zf-devteam@zend.com for patches without security implications
-- zf-security@zend.com for security patches
+"zendframework" (or whatever the upstream organization is) as the recipient.
#### What branch to issue the pull request against?
@@ -227,8 +187,3 @@ repository, we suggest doing some cleanup of these branches.
```console
$ git push {username} :
```
-
-
-## Conduct
-
-Please see our [CONDUCT.md](CONDUCT.md) to understand expected behavior when interacting with others in the project.
diff --git a/docs/ISSUE_TEMPLATE.md b/docs/ISSUE_TEMPLATE.md
new file mode 100644
index 000000000..390712381
--- /dev/null
+++ b/docs/ISSUE_TEMPLATE.md
@@ -0,0 +1,19 @@
+ - [ ] I was not able to find an [open](https://github.com/zendframework/zend-validator/issues?q=is%3Aopen) or [closed](https://github.com/zendframework/zend-validator/issues?q=is%3Aclosed) issue matching what I'm seeing.
+ - [ ] This is not a question. (Questions should be asked on [chat](https://zendframework.slack.com/) ([Signup here](https://zendframework-slack.herokuapp.com/)) or our [forums](https://discourse.zendframework.com/).)
+
+Provide a narrative description of what you are trying to accomplish.
+
+### Code to reproduce the issue
+
+
+
+```php
+```
+
+### Expected results
+
+
+
+### Actual results
+
+
diff --git a/docs/PULL_REQUEST_TEMPLATE.md b/docs/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000..f00d90c06
--- /dev/null
+++ b/docs/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,25 @@
+Provide a narrative description of what you are trying to accomplish:
+
+- [ ] Are you fixing a bug?
+ - [ ] Detail how the bug is invoked currently.
+ - [ ] Detail the original, incorrect behavior.
+ - [ ] Detail the new, expected behavior.
+ - [ ] Base your feature on the `master` branch, and submit against that branch.
+ - [ ] Add a regression test that demonstrates the bug, and proves the fix.
+ - [ ] Add a `CHANGELOG.md` entry for the fix.
+
+- [ ] Are you creating a new feature?
+ - [ ] Why is the new feature needed? What purpose does it serve?
+ - [ ] How will users use the new feature?
+ - [ ] Base your feature on the `develop` branch, and submit against that branch.
+ - [ ] Add only one feature per pull request; split multiple features over multiple pull requests
+ - [ ] Add tests for the new feature.
+ - [ ] Add documentation for the new feature.
+ - [ ] Add a `CHANGELOG.md` entry for the new feature.
+
+- [ ] Is this related to quality assurance?
+
+
+- [ ] Is this related to documentation?
+
+
diff --git a/docs/SUPPORT.md b/docs/SUPPORT.md
new file mode 100644
index 000000000..3d16ee1fc
--- /dev/null
+++ b/docs/SUPPORT.md
@@ -0,0 +1,25 @@
+# Getting Support
+
+Zend Framework offers three support channels:
+
+- For real-time questions, use our
+ [chat](https://zendframework-slack.herokuapp.com)
+- For detailed questions (e.g., those requiring examples) use our
+ [forums](https://discourse.zendframework.com/c/questions/components)
+- To report issues, use this repository's
+ [issue tracker](https://github.com/zendframework/zend-validator/issues/new)
+
+**DO NOT** use the issue tracker to ask questions; use chat or the forums for
+that. Questions posed to the issue tracker will be closed.
+
+When reporting an issue, please include the following details:
+
+- A narrative description of what you are trying to accomplish.
+- The minimum code necessary to reproduce the issue.
+- The expected results of exercising that code.
+- The actual results received.
+
+We may ask for additional details: what version of the library you are using,
+and what PHP version was used to reproduce the issue.
+
+You may also submit a failing test case as a pull request.
diff --git a/doc/book/index.md b/docs/book/index.md
similarity index 100%
rename from doc/book/index.md
rename to docs/book/index.md
diff --git a/doc/book/intro.md b/docs/book/intro.md
similarity index 100%
rename from doc/book/intro.md
rename to docs/book/intro.md
diff --git a/doc/book/messages.md b/docs/book/messages.md
similarity index 100%
rename from doc/book/messages.md
rename to docs/book/messages.md
diff --git a/doc/book/set.md b/docs/book/set.md
similarity index 100%
rename from doc/book/set.md
rename to docs/book/set.md
diff --git a/doc/book/validator-chains.md b/docs/book/validator-chains.md
similarity index 100%
rename from doc/book/validator-chains.md
rename to docs/book/validator-chains.md
diff --git a/doc/book/validators/barcode.md b/docs/book/validators/barcode.md
similarity index 100%
rename from doc/book/validators/barcode.md
rename to docs/book/validators/barcode.md
diff --git a/doc/book/validators/between.md b/docs/book/validators/between.md
similarity index 100%
rename from doc/book/validators/between.md
rename to docs/book/validators/between.md
diff --git a/doc/book/validators/callback.md b/docs/book/validators/callback.md
similarity index 100%
rename from doc/book/validators/callback.md
rename to docs/book/validators/callback.md
diff --git a/doc/book/validators/credit-card.md b/docs/book/validators/credit-card.md
similarity index 100%
rename from doc/book/validators/credit-card.md
rename to docs/book/validators/credit-card.md
diff --git a/doc/book/validators/date.md b/docs/book/validators/date.md
similarity index 100%
rename from doc/book/validators/date.md
rename to docs/book/validators/date.md
diff --git a/doc/book/validators/db.md b/docs/book/validators/db.md
similarity index 99%
rename from doc/book/validators/db.md
rename to docs/book/validators/db.md
index 481142361..6dff01098 100644
--- a/doc/book/validators/db.md
+++ b/docs/book/validators/db.md
@@ -6,7 +6,7 @@ given value.
> ### Installation requirements
>
-> `Zend\Validator\Db\NoRecordExists` and `Zend\Validator\Db\RecordExists`
+> `Zend\Validator\Db\NoRecordExists` and `Zend\Validator\Db\RecordExists`
> depends on the zend-db component, so be sure to have it installed before
> getting started:
>
diff --git a/doc/book/validators/digits.md b/docs/book/validators/digits.md
similarity index 100%
rename from doc/book/validators/digits.md
rename to docs/book/validators/digits.md
diff --git a/doc/book/validators/email-address.md b/docs/book/validators/email-address.md
similarity index 99%
rename from doc/book/validators/email-address.md
rename to docs/book/validators/email-address.md
index 7d615c454..3eecb87d4 100644
--- a/doc/book/validators/email-address.md
+++ b/docs/book/validators/email-address.md
@@ -31,15 +31,15 @@ at instantiation, by giving an array with the related options, or afterwards, by
using `setOptions()`. The following options are supported:
- `allow`: Defines which type of domain names are accepted. This option is used
- in conjunction with the hostnameValidator option to set the hostname validator.
- Possible values of this option defined in [Hostname](hostname.md) validator's
+ in conjunction with the hostnameValidator option to set the hostname validator.
+ Possible values of this option defined in [Hostname](hostname.md) validator's
`ALLOW_*` constants:
- `ALLOW_DNS` (default) - Allows Internet domain names _(e.g. example.com)_
- `ALLOW_IP` - Allows IP addresses _(e.g. 192.168.0.1)_
- `ALLOW_LOCAL` - Allows local network such as _localhost_ or _www.localdomain_
- `ALLOW_URI` - Allows hostnames in URI generic syntax. See [RFC 3986](https://www.ietf.org/rfc/rfc3986.txt)
- `ALLOW_ALL` - Allows all types of hostnames
-
+
- `useDeepMxCheck`: Defines if the servers MX records should be verified by a deep check.
When this option is set to `true` then additionally to MX records also the `A`,
`A6` and `AAAA` records are used to verify if the server accepts emails. This
diff --git a/doc/book/validators/explode.md b/docs/book/validators/explode.md
similarity index 96%
rename from doc/book/validators/explode.md
rename to docs/book/validators/explode.md
index d314ddd77..fc057ec02 100644
--- a/doc/book/validators/explode.md
+++ b/docs/book/validators/explode.md
@@ -1,48 +1,48 @@
-# Explode Validator
-
-`Zend\Validator\Explode` executes a validator for each item exploded from an
-array.
-
-## Supported options
-
-The following options are supported for `Zend\Validator\Explode`:
-
-- `valueDelimiter`: Defines the delimiter used to explode values from 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.
- This may be a validator instance, or a validator service name.
-
-## Basic usage
-
-To validate if every item in an array is in a specified 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 a string is contained in a list of names:
-
-```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
-```
+# Explode Validator
+
+`Zend\Validator\Explode` executes a validator for each item exploded from an
+array.
+
+## Supported options
+
+The following options are supported for `Zend\Validator\Explode`:
+
+- `valueDelimiter`: Defines the delimiter used to explode values from 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.
+ This may be a validator instance, or a validator service name.
+
+## Basic usage
+
+To validate if every item in an array is in a specified 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 a string is contained in a list of names:
+
+```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/doc/book/validators/file/count.md b/docs/book/validators/file/count.md
similarity index 100%
rename from doc/book/validators/file/count.md
rename to docs/book/validators/file/count.md
diff --git a/doc/book/validators/file/crc32.md b/docs/book/validators/file/crc32.md
similarity index 100%
rename from doc/book/validators/file/crc32.md
rename to docs/book/validators/file/crc32.md
diff --git a/doc/book/validators/file/exclude-extension.md b/docs/book/validators/file/exclude-extension.md
similarity index 100%
rename from doc/book/validators/file/exclude-extension.md
rename to docs/book/validators/file/exclude-extension.md
diff --git a/doc/book/validators/file/exclude-mime-type.md b/docs/book/validators/file/exclude-mime-type.md
similarity index 100%
rename from doc/book/validators/file/exclude-mime-type.md
rename to docs/book/validators/file/exclude-mime-type.md
diff --git a/doc/book/validators/file/exists.md b/docs/book/validators/file/exists.md
similarity index 100%
rename from doc/book/validators/file/exists.md
rename to docs/book/validators/file/exists.md
diff --git a/doc/book/validators/file/extension.md b/docs/book/validators/file/extension.md
similarity index 100%
rename from doc/book/validators/file/extension.md
rename to docs/book/validators/file/extension.md
diff --git a/doc/book/validators/file/files-size.md b/docs/book/validators/file/files-size.md
similarity index 100%
rename from doc/book/validators/file/files-size.md
rename to docs/book/validators/file/files-size.md
diff --git a/doc/book/validators/file/hash.md b/docs/book/validators/file/hash.md
similarity index 100%
rename from doc/book/validators/file/hash.md
rename to docs/book/validators/file/hash.md
diff --git a/doc/book/validators/file/image-size.md b/docs/book/validators/file/image-size.md
similarity index 100%
rename from doc/book/validators/file/image-size.md
rename to docs/book/validators/file/image-size.md
diff --git a/doc/book/validators/file/intro.md b/docs/book/validators/file/intro.md
similarity index 100%
rename from doc/book/validators/file/intro.md
rename to docs/book/validators/file/intro.md
diff --git a/doc/book/validators/file/is-compressed.md b/docs/book/validators/file/is-compressed.md
similarity index 100%
rename from doc/book/validators/file/is-compressed.md
rename to docs/book/validators/file/is-compressed.md
diff --git a/doc/book/validators/file/is-image.md b/docs/book/validators/file/is-image.md
similarity index 100%
rename from doc/book/validators/file/is-image.md
rename to docs/book/validators/file/is-image.md
diff --git a/doc/book/validators/file/md5.md b/docs/book/validators/file/md5.md
similarity index 100%
rename from doc/book/validators/file/md5.md
rename to docs/book/validators/file/md5.md
diff --git a/doc/book/validators/file/mime-type.md b/docs/book/validators/file/mime-type.md
similarity index 100%
rename from doc/book/validators/file/mime-type.md
rename to docs/book/validators/file/mime-type.md
diff --git a/doc/book/validators/file/not-exists.md b/docs/book/validators/file/not-exists.md
similarity index 100%
rename from doc/book/validators/file/not-exists.md
rename to docs/book/validators/file/not-exists.md
diff --git a/doc/book/validators/file/sha1.md b/docs/book/validators/file/sha1.md
similarity index 100%
rename from doc/book/validators/file/sha1.md
rename to docs/book/validators/file/sha1.md
diff --git a/doc/book/validators/file/size.md b/docs/book/validators/file/size.md
similarity index 100%
rename from doc/book/validators/file/size.md
rename to docs/book/validators/file/size.md
diff --git a/doc/book/validators/file/upload-file.md b/docs/book/validators/file/upload-file.md
similarity index 100%
rename from doc/book/validators/file/upload-file.md
rename to docs/book/validators/file/upload-file.md
diff --git a/doc/book/validators/file/upload.md b/docs/book/validators/file/upload.md
similarity index 100%
rename from doc/book/validators/file/upload.md
rename to docs/book/validators/file/upload.md
diff --git a/doc/book/validators/file/word-count.md b/docs/book/validators/file/word-count.md
similarity index 100%
rename from doc/book/validators/file/word-count.md
rename to docs/book/validators/file/word-count.md
diff --git a/doc/book/validators/greater-than.md b/docs/book/validators/greater-than.md
similarity index 100%
rename from doc/book/validators/greater-than.md
rename to docs/book/validators/greater-than.md
diff --git a/doc/book/validators/hex.md b/docs/book/validators/hex.md
similarity index 100%
rename from doc/book/validators/hex.md
rename to docs/book/validators/hex.md
diff --git a/doc/book/validators/hostname.md b/docs/book/validators/hostname.md
similarity index 100%
rename from doc/book/validators/hostname.md
rename to docs/book/validators/hostname.md
diff --git a/doc/book/validators/iban.md b/docs/book/validators/iban.md
similarity index 100%
rename from doc/book/validators/iban.md
rename to docs/book/validators/iban.md
diff --git a/doc/book/validators/identical.md b/docs/book/validators/identical.md
similarity index 100%
rename from doc/book/validators/identical.md
rename to docs/book/validators/identical.md
diff --git a/doc/book/validators/in-array.md b/docs/book/validators/in-array.md
similarity index 97%
rename from doc/book/validators/in-array.md
rename to docs/book/validators/in-array.md
index 8f3770d5e..8ad0747e4 100644
--- a/doc/book/validators/in-array.md
+++ b/docs/book/validators/in-array.md
@@ -7,7 +7,7 @@ within an array. It is also able to validate multidimensional arrays.
The following options are supported for `Zend\Validator\InArray`:
-- `haystack`: Sets the haystack for the validation.
+- `haystack`: Sets the haystack for the validation.
- `recursive`: Defines if the validation should be done recursively. This option
defaults to `false`.
- `strict`: Three modes of comparison are offered owing to an often overlooked,
@@ -92,7 +92,7 @@ $validator = new Zend\Validator\InArray([
'strict' => InArray::COMPARE_STRICT, // equates to ``true``
]);
-// set non-strict mode
+// set non-strict mode
$validator = new Zend\Validator\InArray([
'haystack' => ['value1', 'value2', /* ... */ 'valueN'],
'strict' => InArray:COMPARE_NOT_STRICT, // equates to ``false``
@@ -100,7 +100,7 @@ $validator = new Zend\Validator\InArray([
// or
-$validator->setStrict(InArray::COMPARE_STRICT);
+$validator->setStrict(InArray::COMPARE_STRICT);
$validator->setStrict(InArray::COMPARE_NOT_STRICT);
$validator->setStrict(InArray::COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY);
```
diff --git a/doc/book/validators/ip.md b/docs/book/validators/ip.md
similarity index 100%
rename from doc/book/validators/ip.md
rename to docs/book/validators/ip.md
diff --git a/doc/book/validators/is-countable.md b/docs/book/validators/is-countable.md
similarity index 100%
rename from doc/book/validators/is-countable.md
rename to docs/book/validators/is-countable.md
diff --git a/doc/book/validators/isbn.md b/docs/book/validators/isbn.md
similarity index 100%
rename from doc/book/validators/isbn.md
rename to docs/book/validators/isbn.md
diff --git a/doc/book/validators/isinstanceof.md b/docs/book/validators/isinstanceof.md
similarity index 100%
rename from doc/book/validators/isinstanceof.md
rename to docs/book/validators/isinstanceof.md
diff --git a/doc/book/validators/less-than.md b/docs/book/validators/less-than.md
similarity index 100%
rename from doc/book/validators/less-than.md
rename to docs/book/validators/less-than.md
diff --git a/doc/book/validators/not-empty.md b/docs/book/validators/not-empty.md
similarity index 100%
rename from doc/book/validators/not-empty.md
rename to docs/book/validators/not-empty.md
diff --git a/doc/book/validators/regex.md b/docs/book/validators/regex.md
similarity index 100%
rename from doc/book/validators/regex.md
rename to docs/book/validators/regex.md
diff --git a/doc/book/validators/sitemap.md b/docs/book/validators/sitemap.md
similarity index 100%
rename from doc/book/validators/sitemap.md
rename to docs/book/validators/sitemap.md
diff --git a/doc/book/validators/step.md b/docs/book/validators/step.md
similarity index 100%
rename from doc/book/validators/step.md
rename to docs/book/validators/step.md
diff --git a/doc/book/validators/string-length.md b/docs/book/validators/string-length.md
similarity index 100%
rename from doc/book/validators/string-length.md
rename to docs/book/validators/string-length.md
diff --git a/doc/book/validators/timezone.md b/docs/book/validators/timezone.md
similarity index 100%
rename from doc/book/validators/timezone.md
rename to docs/book/validators/timezone.md
diff --git a/doc/book/validators/uri.md b/docs/book/validators/uri.md
similarity index 100%
rename from doc/book/validators/uri.md
rename to docs/book/validators/uri.md
diff --git a/doc/book/validators/uuid.md b/docs/book/validators/uuid.md
similarity index 100%
rename from doc/book/validators/uuid.md
rename to docs/book/validators/uuid.md
diff --git a/doc/book/writing-validators.md b/docs/book/writing-validators.md
similarity index 100%
rename from doc/book/writing-validators.md
rename to docs/book/writing-validators.md
diff --git a/mkdocs.yml b/mkdocs.yml
index 3902393a2..d7a0d4849 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,6 +1,6 @@
-docs_dir: doc/book
-site_dir: doc/html
-pages:
+docs_dir: docs/book
+site_dir: docs/html
+nav:
- Home: index.md
- Introduction: intro.md
- Reference: