Downloads
Stars
Version
Use fluent-style syntax to build Laravel validation rules
Example:
$rules = [
'id' => Rule::int()->required(),
'name' => Rule::string()->required()->minLength(3)->toString(),
'email' => Rule::string()->required()->email()->toArray(),
'role_id' => Rule::modelExists(Role::class),
'salary' => Rule::int()->when($isPHPDeveloper,
function($ruleWhenTrue) {
return $ruleWhenTrue->min(1000000);
},
function($ruleWhenFalse) {
return $ruleWhenFalse->max(1000);
}
)
]
Inline documentation:
Intellisence:
Custom validation rules
You can also use custom declared validations:
$rules = [
... => Rule::custom('foo')
]
Install the saritasa/laravel-fluent-validation
package:
$ composer require saritasa/laravel-fluent-validation
If you use Laravel 5.4 or less,
or 5.5+ with package discovery disabled,
add the FluentValidationServiceProvider in config/app.php
:
'providers' => array(
// ...
Saritasa\Laravel\Validation\FluentValidationServiceProvider::class,
)
Note: You can omit service provider registration, but then you must call ->toString() or ->toArray() on each builder. If service provider is registered, manual casting of rule to string or array is not necessary and default Laravel's Illuminate\Validation\ValidationServiceProvider::class can be removed from 'providers' array.
Root of your rule builder.
If you have GNU Make installed, you can use following shortcuts:
make cs
(instead of php vendor/bin/phpcs
) -
run static code analysis with PHP_CodeSniffer
to check code stylemake csfix
(instead of php vendor/bin/phpcbf
) -
fix code style violations with PHP_CodeSniffer
automatically, where possible (ex. PSR-2 code formatting violations)make test
(instead of php vendor/bin/phpunit
) -
run tests with PHPUnit
make install
- instead of composer install
make all
or just make
without parameters -
invokes described above install, cs, test tasks sequentially -
project will be assembled, checked with linter and tested with one single command