awurth/slim-validation

A wrapper around the respect/validation PHP validation library for easier error handling and display

v5.0.1 2023-12-02 17:31 UTC

README

CI Latest Stable Version License

Total Downloads Monthly Downloads

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.

Installation

$ composer require awurth/slim-validation

Documentation

  • 5.x (current, PHP >= 8.1)
  • 3.4 (outdated, PHP >= 7.1)

Usage

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';
});

License

This package is available under the MIT license.

Buy Me A Coffee