benjamimwalker / command-validator
A package to validate arguments and options on laravel commands.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/benjamimwalker/command-validator
Requires
- php: ^8.2
- laravel/framework: ^10.0||^11.0||^12.0
Requires (Dev)
- laravel/pint: ^1.20.0
- orchestra/testbench: ^8.22.0||^9.0.0||^10.0.0
- pestphp/pest: ^2.36|^3.7.4
- pestphp/pest-plugin-type-coverage: ^2.8.7|^3.2.3
- phpstan/phpstan: ^1.12.16
- rector/rector: ^1.2.10
This package is auto-updated.
Last update: 2026-02-14 01:28:30 UTC
README
A lightweight Laravel package to validate command arguments and options using Laravel's validation.
Command Validator enables automatic validation of Laravel command inputs using a simple attribute. Define rules on your command class, and invalid input will be handled gracefully; including proper error messages and test-safe exceptions.
Installation
Install the package via Composer:
composer require benjamimwalker/command-validator
Usage
Apply the Validatable attribute to any Artisan command class to define validation rules for arguments and options.
Example
use CommandValidator\Attributes\Validatable; use Illuminate\Console\Command; #[Validatable([ 'name' => ['required', 'string', 'min:3'], 'email' => ['required', 'email'], 'steps' => ['string'], ])] class Dummy extends Command { protected $signature = 'u:c {--name= : The name of the user} {--email= : The email of the user} {steps}'; protected $description = 'Command description'; public function handle() { // Safe to use validated inputs here } }
License
This package is open-sourced software licensed under the MIT license.