larammerce/validation

一个基于laravel验证和larammerce注解解析器的请求验证包。

1.0.3 2019-07-13 19:33 UTC

This package is auto-updated.

Last update: 2024-09-14 07:17:34 UTC


README

Build Status

一个基于laravel验证和 larammerce/annotation-parser 包的现代验证包。

安装

composer require larammerce/validation

用法

  • 首先您需要为该项目发布配置文件。
php artisan vendor:publish --provider="Larammerce\Validation\ValidationServiceProvider"
  • 然后根据需要自定义配置文件。
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.
];
  • Larammerce\Validation\Middleware\RulesMiddleware::class 添加到您的路由或路由组作为中间件,或者您也可以将它添加到 /app/Http/Kernel.php 文件中的 $routeMiddleware
//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"
        ];
    }
}