ajaykushwaha111 / laravel-validation-generator
Generate Laravel FormRequest validation rules from database schema.
Package info
github.com/AjayKushwaha111/laravel-validation-generator
pkg:composer/ajaykushwaha111/laravel-validation-generator
Requires
- php: ^8.2
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
README
๐ Automatically generate Laravel FormRequest validation rules directly from your database schema โ and optionally sync model $fillable properties.
โจ Features
- ๐ Generate Store & Update FormRequest classes
- ๐ง Smart schema-based validation rule detection
- ๐ Auto-detect
uniqueindexes - ๐ Auto-detect foreign keys (
existsrules) - ๐งพ Enum rule detection
- ๐งฉ UUID / ULID support
- ๐ฆ Automatically sync model
$fillable - โก Supports Laravel 10, 11, 12
- ๐ Fully configurable via config file
๐ฆ Installation
Install via Composer:
composer require ajaykushwaha111/laravel-validation-generator
Publish configuration (optional):
php artisan vendor:publish --tag=validation-generator-config
๐ Usage
Generate validation for all tables
php artisan validation:generate
Generate for specific table
php artisan validation:generate --table=users
Overwrite existing request files
php artisan validation:generate --force
Generate only Store request
php artisan validation:generate --store-only
Generate only Update request
php artisan validation:generate --update-only
๐ง Example Output
Migration
$table->string('email')->unique(); $table->string('name', 255); $table->uuid('uuid')->unique(); $table->foreignId('role_id')->constrained();
Generated Store Request
'email' => [ 'required', 'string', 'email', Rule::unique('users','email'), ], 'name' => [ 'required', 'string', 'max:255', ], 'uuid' => [ 'required', 'uuid', Rule::unique('users','uuid'), ], 'role_id' => [ 'required', 'integer', 'exists:roles,id', ],
๐งฑ Model $fillable Sync
If your model does not contain $fillable, it will automatically be generated:
protected $fillable = [ 'email', 'name', 'uuid', 'role_id', ];
If $fillable already exists, it will not be modified.
โ Configuration
Configuration file:
config/validation-generator.php
You can customize:
- Skipped tables
- Skipped columns
- Smart field name rules
- Type mapping logic
- Custom rule detection behavior
๐งฉ Supported Schema Types
string,char,text,longTextinteger,bigInteger,smallIntegerdecimal,float,doublebooleandate,datetime,timestamptimeyearjsonenumuuidulid- foreign keys
- unique indexes
๐ก Requirements
- PHP 8.2+
- Laravel 10 / 11 / 12
๐ License
This package is open-sourced software licensed under the MIT license.
๐ค Contributing
Contributions are welcome.
If you discover bugs or have feature suggestions, feel free to open an issue or submit a pull request.
โญ Support
If you find this package useful, consider starring the repository on GitHub.