awurth/slim-validation

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

Maintainers

👁 Alexis Wurth

Package info

github.com/awurth/SlimValidation

pkg:composer/awurth/slim-validation

Statistics

Installs: 399 416

Dependents: 11

Suggesters: 0

Stars: 65

Open Issues: 2

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

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT c47a1e9bb4674448c274cec5022d435c17b8ace6

validatorrespectvalidationvalidateslim


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