Package Data | |
---|---|
Maintainer Username: | saritasa |
Maintainer Contact: | sergey@saritasa.com (Sergey Populov) |
Package Create Date: | 2017-07-05 |
Package Last Update: | 2024-01-08 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-04-18 15:03:57 |
Package Statistics | |
---|---|
Total Downloads: | 77,925 |
Monthly Downloads: | 3,165 |
Daily Downloads: | 201 |
Total Stars: | 8 |
Total Watchers: | 10 |
Total Forks: | 7 |
Total Open Issues: | 2 |
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:
Inellisence:
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