Standalone library to use the Illuminate\Validation package outside the Laravel framework.
From your terminal, run:
$ composer require jeffochoa/validator-factory
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.
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.