mirror of
https://github.com/Respect/Validation.git
synced 2024-06-16 04:25:08 +02:00
Allow validating domains with "FilterVar" rule
Even though using "filter_var()" to validate domains may is error-prone, Validation should fully support "filter_var()" as long as the "FilterVar" exists. Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
This commit is contained in:
parent
3145426472
commit
44d0af4148
|
@ -10,6 +10,8 @@ v::filterVar(FILTER_VALIDATE_EMAIL)->validate('bob@example.com'); // true
|
||||||
v::filterVar(FILTER_VALIDATE_URL)->validate('http://example.com'); // true
|
v::filterVar(FILTER_VALIDATE_URL)->validate('http://example.com'); // true
|
||||||
v::filterVar(FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)->validate('http://example.com'); // false
|
v::filterVar(FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)->validate('http://example.com'); // false
|
||||||
v::filterVar(FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)->validate('http://example.com/path'); // true
|
v::filterVar(FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)->validate('http://example.com/path'); // true
|
||||||
|
v::filterVar(FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)->validate('webserver.local'); // true
|
||||||
|
v::filterVar(FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)->validate('@local'); // false
|
||||||
```
|
```
|
||||||
|
|
||||||
## Categorization
|
## Categorization
|
||||||
|
@ -18,9 +20,10 @@ v::filterVar(FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)->validate('http://e
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
Version | Description
|
Version | Description
|
||||||
--------|-------------
|
---------|-------------
|
||||||
0.8.0 | Created
|
2.0.15 | Allow validating domains
|
||||||
|
0.8.0 | Created
|
||||||
|
|
||||||
***
|
***
|
||||||
See also:
|
See also:
|
||||||
|
|
|
@ -18,6 +18,7 @@ use Respect\Validation\Exceptions\ComponentException;
|
||||||
use function in_array;
|
use function in_array;
|
||||||
|
|
||||||
use const FILTER_VALIDATE_BOOLEAN;
|
use const FILTER_VALIDATE_BOOLEAN;
|
||||||
|
use const FILTER_VALIDATE_DOMAIN;
|
||||||
use const FILTER_VALIDATE_EMAIL;
|
use const FILTER_VALIDATE_EMAIL;
|
||||||
use const FILTER_VALIDATE_FLOAT;
|
use const FILTER_VALIDATE_FLOAT;
|
||||||
use const FILTER_VALIDATE_INT;
|
use const FILTER_VALIDATE_INT;
|
||||||
|
@ -34,6 +35,7 @@ final class FilterVar extends AbstractEnvelope
|
||||||
{
|
{
|
||||||
private const ALLOWED_FILTERS = [
|
private const ALLOWED_FILTERS = [
|
||||||
FILTER_VALIDATE_BOOLEAN,
|
FILTER_VALIDATE_BOOLEAN,
|
||||||
|
FILTER_VALIDATE_DOMAIN,
|
||||||
FILTER_VALIDATE_EMAIL,
|
FILTER_VALIDATE_EMAIL,
|
||||||
FILTER_VALIDATE_FLOAT,
|
FILTER_VALIDATE_FLOAT,
|
||||||
FILTER_VALIDATE_INT,
|
FILTER_VALIDATE_INT,
|
||||||
|
|
|
@ -15,9 +15,11 @@ namespace Respect\Validation\Rules;
|
||||||
|
|
||||||
use Respect\Validation\Test\RuleTestCase;
|
use Respect\Validation\Test\RuleTestCase;
|
||||||
|
|
||||||
|
use const FILTER_FLAG_HOSTNAME;
|
||||||
use const FILTER_FLAG_QUERY_REQUIRED;
|
use const FILTER_FLAG_QUERY_REQUIRED;
|
||||||
use const FILTER_SANITIZE_EMAIL;
|
use const FILTER_SANITIZE_EMAIL;
|
||||||
use const FILTER_VALIDATE_BOOLEAN;
|
use const FILTER_VALIDATE_BOOLEAN;
|
||||||
|
use const FILTER_VALIDATE_DOMAIN;
|
||||||
use const FILTER_VALIDATE_EMAIL;
|
use const FILTER_VALIDATE_EMAIL;
|
||||||
use const FILTER_VALIDATE_FLOAT;
|
use const FILTER_VALIDATE_FLOAT;
|
||||||
use const FILTER_VALIDATE_INT;
|
use const FILTER_VALIDATE_INT;
|
||||||
|
@ -56,6 +58,7 @@ final class FilterVarTest extends RuleTestCase
|
||||||
[new FilterVar(FILTER_VALIDATE_FLOAT), 1.5],
|
[new FilterVar(FILTER_VALIDATE_FLOAT), 1.5],
|
||||||
[new FilterVar(FILTER_VALIDATE_BOOLEAN), 'On'],
|
[new FilterVar(FILTER_VALIDATE_BOOLEAN), 'On'],
|
||||||
[new FilterVar(FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED), 'http://example.com?foo=bar'],
|
[new FilterVar(FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED), 'http://example.com?foo=bar'],
|
||||||
|
[new FilterVar(FILTER_VALIDATE_DOMAIN), 'example.com'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,6 +70,8 @@ final class FilterVarTest extends RuleTestCase
|
||||||
return [
|
return [
|
||||||
[new FilterVar(FILTER_VALIDATE_INT), 1.4],
|
[new FilterVar(FILTER_VALIDATE_INT), 1.4],
|
||||||
[new FilterVar(FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED), 'http://example.com'],
|
[new FilterVar(FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED), 'http://example.com'],
|
||||||
|
[new FilterVar(FILTER_VALIDATE_DOMAIN), '.com'],
|
||||||
|
[new FilterVar(FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME), '@local'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue