Validator for Laravel framework with customized scenarios.
$ composer require xgbnl/validation dev-main
$ php artisan make:validator UserValidator
// 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...
}
// 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...
}