docs/getting-started.md
Welcome to Respect\Validation!
This guide will help you get up and running with the library quickly.
To install Respect\Validation, use Composer:
composer require respect/validation:^3.0
Ensure you have PHP 8.5 or above installed.
The ValidatorBuilder (aliased as v for convenience) provides a fluent interface for building validators and running them.
The assert() method throws an exception when validation fails. Handle these exceptions with try/catch for robust error handling:
try {
v::intType()->assert($input);
} catch (Throwable $exception) {
echo 'Validation failed: ' . $exception->getMessage();
}
The validate() method returns a ResultQuery object that allows you to inspect and display validation results:
$result = v::intType()->validate($input);
if ($result->hasFailed()) {
echo 'Validation failed: ' . $result->getMessage();
}
Use the isValid() method to check if your input meets specific validation criteria:
if (!v::intType()->isValid($input)) {
echo 'The input you gave me is not an integer';
}
Combine multiple validators for complex validation rules:
v::numericVal()->positive()->between(1, 255)->assert($input);
Define your own error messages when validation fails:
v::between(1, 256)->assert($input, '{{subject}} is not what I was expecting');
Throw your own exceptions when the validation fails:
try {
v::between(1, 256)->assert($input, new DomainException('Not within the expected range'));
} catch (DomainException $exception) {
echo 'Custom exception caught: ' . $exception->getMessage();
}
Create validators once and reuse them across multiple inputs:
$validator = v::alnum()->lowercase();
$validator->assert('respect');
$validator->assert('validation');