A validator on top of Symfony validator.
Using Symfony validator with annotations or configuration (yml or xml) is just fine, but for simple cases, eg: validation of argument methods and throw exception is too verbose.
Eg:
use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints\Type;
class Test {
public function getByName($name)
{
$violations = Validation::createValidator()->validateValue(
$name,
new Type(array('type' => 'string'))
);
if (count($violations) != 0) {
throw new \InvalidArgumentException((string) $violations);
}
}
}
use EBT\Validator\ValidatorBasicExtended;
class Test {
public function getByName($name)
{
if (!ValidatorBasicExtended::isTypeString($name)) {
throw new \InvalidArgumentException(ValidatorBasicExtended::getViolationsAsShortString());
}
}
}
- PHP >= 5.3.3
The recommended way to install is through composer.
Just create a composer.json
file for your project:
{
"require": {
"ebidtech/validator": "@stable"
}
}
Tip: browse ebidtech/validator
page to choose a stable version to use, avoid the @stable
meta constraint.
And run these two commands to install it:
$ curl -sS https://getcomposer.org/installer | php
$ composer install
Now you can add the autoloader, and you will have access to the library:
<?php
require 'vendor/autoload.php';
The validators are divided according to the Symfony Validator:
- ValidatorBasic
- ValidatorString
- ValidatorNumber
- ValidatorDate
- ValidatorCollection
For each one exists a Extended version (Eg: ValidatorBasicExtended), that adds convenience alias methods. It exists also a ValidatorExtended that mix validations.
See CONTRIBUTING file.
- Ebidtech developer team, validator Lead developer Eduardo Oliveira ([email protected]).
- All contributors
Validator library is released under the MIT License. See the bundled LICENSE file for details.