devlop / laravel-console-input-validation
Trait to simplify the validation of console input in Laravel commands
1.1.2
2024-01-12 07:41 UTC
Requires
- php: ^7.4|^8.0
- illuminate/console: ^8.0|^9.0|^10.0|^11.0
- psr/log: ^1.0.1
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.2
README
Laravel Console Input Validation
A small trait to make it easier to validate the input to your Laravel commands.
Installation
composer require devlop/laravel-console-input-validation
Usage
use Devlop\Laravel\Console\ValidateInput; use Symfony\Component\Console\Input\InputInterface; class DemoCommand extends Command { use ValidateInput; /** * Validate the console command input. * * @throws InvalidArgumentException */ protected function validate(InputInterface $input) : void { // Example using manual validation if (! is_numeric($input->getOption('limit'))) { throw new InvalidArgumentException('--limit must be numeric'); } // Example using webmozarts/assert Assert::numeric($input->getOption('limit')); // assert that the --limit option got a numeric value Assert::greaterThan($input->getOption('limit'), 0); // assert that the --limit option get a value greater than 0 } public function handle() : int { // ... } }