| Recommend this page to a friend! |
| Info | Reputation | Support forum | Blog | Links |
| Ratings | Unique User Downloads | Download Rankings | ||||
| Not enough user ratings | Total: 46 | All time: 10,798 This week: 82 | ||||
| Version | License | PHP version | Categories | |||
| validator-php 1.0 | MIT/X Consortium ... | 5 | PHP 5, Validation |
| Description | Author | |
This package can validate an array of values using multiple rules. |
composer require smoren/validator
use Smoren\Validator\Factories\Value;
use Smoren\Validator\Exceptions\ValidationError;
$rule = Value::container()
->array()
->hasAttribute('id', Value::integer()->positive())
->hasAttribute('probability', Value::float()->between(0, 1))
->hasAttribute('vectors', Value::container()->array()->allValuesAre(
Value::container()
->array()
->lengthIs(Value::integer()->equal(2))
->allValuesAre(Value::integer())
));
$validInput = [
'id' => 13,
'probability' => 0.92,
'vectors' => [[1, 2], [3, 4], [5, 6]],
];
try {
$rule->validate($validInput);
} catch (ValidationError $e) {
// Input is valid so this block is unreachable.
}
$invalidInput = [
'id' => '13',
'probability' => 1.92,
'vectors' => [[1, 2.1], [3, 4], [5, 6]],
];
try {
$rule->validate($invalidInput);
} catch (ValidationError $e) {
// Input is invalid so we catch the exception.
print_r($e->getViolatedRestrictions());
/*
[
['attribute_is', [
'attribute' => 'id',
'rule' => 'integer',
'violated_restrictions' => [
['integer', []]
]
]],
['attribute_is', [
'attribute' => 'probability',
'rule' => 'float',
'violated_restrictions' => [
['between', [
'start' => 0,
'end' => 1
]]
]
]],
['attribute_is', [
'attribute' => 'vectors',
'rule' => 'container',
'violated_restrictions' => [
['all_values_are', [
'rule' => 'container',
'violated_restrictions' => [
['all_values_are', [
'rule' => 'integer',
'violated_restrictions' => [
['integer', []]
]
]]
]
]]
]
]]
]
*/
}
composer install
composer test-init
composer test
PHP Validator Tools conforms to the following standards:
PHP Validation Tools is licensed under the MIT License.
| File | Role | Description | ||
|---|---|---|---|---|
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Lic. | License text | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Doc. | Documentation | |||
| / | src |
| File | Role | Description | ||
|---|---|---|---|---|
| / | src | / | Checks |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Exceptions |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Factories |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| |
Class | Class source | ||
| / | src | / | Factories | / | Checks |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Helpers |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Interfaces |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Rules |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Structs |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | tests |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Data | Auxiliary data | ||
| |
Data | Auxiliary data | ||
| |
Aux. | Auxiliary script | ||
| / | tests | / | unit |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| |
Class | Class source | ||
| / | tests | / | unit | / | Fixture |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% |
|
|
| Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.