ebidtech / ebt-validator
A simple service that provides common PHP validations
Installs: 1 510
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 15
Forks: 0
Open Issues: 0
Requires
- php: >=5.4.0
- psr/log: ~1.0
Requires (Dev)
- nikic/php-parser: 1.3.*
- phpunit/phpunit: 4.7.*
- squizlabs/php_codesniffer: 2.3.*
README
This project provides the ValidatorService
class. This class encapsulates a few common validations, allowing both required and optional validations.
Installation
The recommended way to install is through composer.
Just create a composer.json
file for your project:
{ "require": { "ebidtech/ebt-validator": "2.*" } }
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';
Example
// Instantiate the validator. $validator = new EBT\Validator\Service\Validator\ValidatorService(); // Validations return TRUE when they succeed, FALSE when they fail. $validator->requireString('a string'); // true $validator->requiredInteger('not an integer'); // false // It is possible to retrieve the message for the last // failed validation. $validator->requireString(5); // false $validator->getLastError(); // 'Expected string, "integer" given.' // It is also possible to pass an additional parameter to any validation method // to control whether or not exceptions are suppressed when a validation fails. // By default, exceptions suppressed. $validator->requirePositiveInteger(-1); // false $validator->requirePositiveInteger(-1, true); // false $validator->requirePositiveInteger(-1, false); // throws ValidationException // Required validations will fail if the value is not defined, // optional validations will not. $validator->requiredPositiveInteger(null); // false $validator->optionalPositiveInteger(null); // true // The validator can also be used statically, keeping the same // behavior. Note that the static validator sacrifices advanced // features (for example, error messages) to improve performance // and avoid validator instantiation. use EBT\Validator\Model\Validator\Validator; Validator::requireString('a string'); // true Validator::requiredInteger('not an integer'); // false