xgbnl / validation
Scene-based Validator in Laravel.
dev-main
2024-03-15 08:21 UTC
Requires
- php: ^8.3
Requires (Dev)
- illuminate/http: ^10.15
- illuminate/support: ^10.15
- illuminate/validation: ^10.15
- laravel/framework: ^10.15
- phpunit/phpunit: ^10.2
This package is auto-updated.
Last update: 2024-10-15 09:27:24 UTC
README
Validator for Laravel framework with customized scenarios.
Simple install
$ composer require xgbnl/validation dev-main
Create scene validator
$ php artisan make:validator UserValidator
Define validation scenarios
// Add a validation scene to the authenticator. public function scenes():array { return [ 'store' => 'name,phone,age,email', 'update' =>['name','age'], ]; } // The custom scene is invoked in Controller. public function store(UserValidator $userValidator):mixed { $userValidator->withScene('store')->validatedForm(); // returns DataTransfer $userValidator->withScene('update')->validatedRaw(); // returns array // do something... }
Extend the custom validation rule method
// Add a password validation rule to the authenticator. public function passwordRules():array { return [ 'password'=> 'required|string|min:6', 'password_confirm' =>'required|same:password' ]; } // The custom rule is invoked in Controller. public function update(UserValidator $userValidator):mixed { $userValidator->withScene('update') ->withRule('password') ->validateForm(); // do something... }