Home

Awesome

ValidatorFactory

Standalone library to use the Illuminate\Validation package outside the Laravel framework.

Installation

From your terminal, run:

$ composer require jeffochoa/validator-factory

Usage

You need to create a new instance of the ValidatorFactory class.

$factory = new JeffOchoa\ValidatorFactory();

$validator = $factory->make($data = [], $rules);

This will return an instance of Illuminate\Validation\Validator::class.

You can learn more about the Laravel Validator in the official documentation website.

Customizing error messages

You can specify a custom translation root directory

$validator->translationsRootPath(__DIR__ . '/../../src/')
    ->make($data = [], $rules = ['foo' => 'required'])

Inside that directory you will need to create the following structure:

- lang/
  - en/
    - validation.php

You can customize the structure above by specifying the following values when you create a new instance of the ValidatorFactory::class

$factory = new ValidatorFactory($namespace = 'lang', $lang = 'en', $group = 'validation');

If your plan is to use a custom rule object you would generally call the trans helper inside your messages() method when working inside of Laravel. However you will not have access to the trans helper outside of Laravel so you will need to use ValidatorFactory::trans($key) instead.