jeffochoa / validator-factory
Standalone library to use Illuminate\Validation package outside the Laravel framework.
Installs: 12 001
Dependents: 2
Suggesters: 0
Security: 0
Stars: 44
Watchers: 4
Forks: 15
Open Issues: 4
Requires
- illuminate/filesystem: ^5.6
- illuminate/translation: ^5.6
- illuminate/validation: ^5.6
Requires (Dev)
- orchestra/testbench: ^3.4
This package is auto-updated.
Last update: 2024-10-29 00:28:15 UTC
README
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.