Laravel Validator Object-Oriented Wrapper

Laravel Validator Object-Oriented Wrapper

The Laravel Validator object-oriented wrapper package by Krzysztof Rewak provides a map of all string rules into chained methods. The builder helps you write object-oriented style rules that translate back into their string counterparts:

$validator = new ValidationBuilder();
$validator->validate("email", function (Field $field): void {

// ["email" => "string|required|email:rfc]

Here’s an example of nested validation rules:

$validator = new ValidationBuilder();
$validator->validateEach("tags", function (Field $field): void {
$validator->validateInEach("id", "tags", function (Field $field): void {
    $field->required()->exists("tags", "id");

// ["tags.*:" => "array", "tags.*.id:" => "required|exists:tags,id"]

And finally, you can also use the builder in form requests:

 * @return array
public function rules(): array
    $this->builder->validate("email", function (Field $field): void {
        $field->required()->string()->email()->unique("users", "email");
    $this->builder->validate("password", function (Field $field): void {

    return $this->builder->getRules();

You can learn more about this package, get full installation instructions, and view the source code on GitHub at krzysztofrewak/laravel-oop-validator.

This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks

Filed in: News / packages


Join 31,000+ others and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

Senior Full Stack PHP Developer (Laravel)
Senior Laravel Developer
Senior Full-Stack Engineer
Developers for B2B eCommerce SaaS, AWS serverless, Laravel, Vue, Python
Remote, full time EU only
ES Tech Group
Senior PHP Developer (Laravel)
The Interaction Design Foundation