A wrapper around the Respect Validation PHP validation library for easier error handling and display
This project was originally designed to be used with the Micro-Framework "Slim", hence the name "Slim Validation", but can now be used in any other PHP project.
$ composer require awurth/slim-validation
The following example shows how to validate that a string is at least 10 characters long:
use Awurth\Validator\Validator;
use Respect\Validation\Validator as V;
$validator = Validator::create();
$failures = $validator->validate('Too short', V::notBlank()->length(min: 10));
if (0 !== $failures->count()) {
// Validation failed: display errors
foreach ($failures as $failure) {
echo $failure->getMessage();
}
}
The validate()
method returns a list of validation failures as an object that implements ValidationFailureCollectionInterface
. If you have lots of validation failures, you can filter them with a callback:
use Awurth\Validator\ValidationFailureInterface;
$failures = $validator->validate(/* ... */);
$filteredFailures = $failures->filter(static function (ValidationFailureInterface $failure, int $index): bool {
return $failure->getRuleName() === 'notBlank';
});
This package is available under the MIT license.