larammerce / validation
A request validation package based on laravel validation and larammerce annotation parser.
1.0.3
2019-07-13 19:33 UTC
Requires
- php: ^7.1.3
- larammerce/annotation-parser: 1.*
- laravel/framework: 5.8.*
Requires (Dev)
- orchestra/testbench-core: 3.8.*
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-03-14 06:18:47 UTC
README
A modern validation package for laravel apps, based on laravel validation and larammerce/annotation-parser
package.
Installation
composer require larammerce/validation
Usage
- First you need to publish configuration file for this project.
php artisan vendor:publish --provider="Larammerce\Validation\ValidationServiceProvider"
- Then customise the config file if needed.
return [ "annotation_name" => "my_rules", // the rules will be read from @my_rules annotation. "dynamic_rules_key" => "dynamic_rules" // dynamic rules (described in docs) will be read from dynamic_rules key. ];
- Add
Larammerce\Validation\Middleware\RulesMiddleware::class
to your route or group of routes as middleware directly, or you can add it to$routeMiddleware
in/app/Http/Kernel.php
file.
//Kernel.php file. protected $routeMiddleware = [ //... "rules" => Larammerce\Validation\Middleware\RulesMiddleware::class ];
//routes/web.php | routes/api.php file. Route::get("/test-route", "App\Http\Controllers\HomeController@main")->middleware("rules");
//app/Http/Controllers/HomeController.php class HomeController extends Controller { /** * @my_rules(title="required", dynamic_rules=App\Http\Controllers\HomeController::dynamicRules(request("title"))) */ public function main(Request $request){ return "Hello"; } public static function dynamicRules($title){ //conditional rules according to passed data. return [ $title."_input" => "required" ]; } }