juststeveking / fluent-validation
Fluent Validation is a helper package, that allows you to use sensible defaults for your Laravel validation rules.`
Fund package maintenance!
JustSteveKing
Installs: 509
Dependents: 0
Suggesters: 0
Security: 0
Stars: 24
Watchers: 3
Forks: 2
Open Issues: 0
Type:package
Requires
- php: ^8.1
Requires (Dev)
- laravel/pint: ^1.2
- orchestra/testbench: ^7.11
- pestphp/pest: ^1.22
- phpstan/phpstan: ^1.9
README
Fluent Validation is a helper package, that allows you to use sensible defaults for your Laravel validation rules.
Installation
composer require juststeveking/fluent-validation
Why??
Why did I create this package? Well to be honest, I was feeling lazy - but a productive kind of lazy. I was writing some validation for quite a large API request and looked at all the string input I was about to have to validate, and thought there must be an easier way. So I created this to save me time by taking time building a package. I got the last laugh though, as now I never have to write the same string validation again!
Usage
To use this package all you need to do is include the rules you may wish to use:
Validating emails
return [ 'email' => \JustSteveKing\FluentValidation\Fluency\EmailRule::rules() ];
Or to build them up yourself and/or override them:
return [ 'email' => [ \JustSteveKing\FluentValidation\Rules\Required::rule(), \JustSteveKing\FluentValidation\Rules\Email::rule('rfc,dns'), ] ];
Validating Passwords
return [ 'password' => \JustSteveKing\FluentValidation\Fluency\PasswordRule::rules() ];
Or to build them up yourself and/or override them:
return [ 'password' => [ \JustSteveKing\FluentValidation\Rules\Required::rule(), \Illuminate\Validation\Rules\Password::default(), ] ];
Validating Strings
return [ 'title' => \JustSteveKing\FluentValidation\Fluency\StringRule::rules() ];
Or to build them up yourself and/or override them:
return [ 'title' => [ \JustSteveKing\FluentValidation\Rules\Required::rule(), \JustSteveKing\FluentValidation\Rules\Text::rule(), \JustSteveKing\FluentValidation\Rules\Min::rule(2), \JustSteveKing\FluentValidation\Rules\Max::rule(255), ] ];
Available Fluency Rules
This is a list of the currently available Fluency Rules:
EmailRule
- Will returnrequired
andemail
rules.PasswordRule
- Will returnrequired
andPassword::default()
rules from Laravel.StringRule
- Will returnrequired
,min:2
, andmax:255
rules.
Available Rules
This is a list of the currently available Rules:
Accepted
- Will returnaccepted
or whatever override input you pass.After
- Will returnafter:
and whatever override input you pass.AfterOrEqual
- Will returnafter_or_equal:
and whatever override input you pass.Alpha
- Will returnalpha
or whatever override input you pass.Boolean
- Will returnboolean
or whatever override input you pass.Date
- Will returndate
or whatever override input you pass.Email
- Will returnemail:
and whatever override input you pass.Enum
- Will return a new Laravel Enum validation rule, you must pass a backed Enum to this instance usingYourEnum::class
.Exists
- Will returnexists:
with whatever table and an optional column you pass to it.Integer
- Will returninteger
or whatever override input you pass.Max
- Will returnmax:
and whatever override input you pass.Min
- Will returnmin:
and whatever override input you pass.Required
- Will returnrequired
or whatever override input you pass.Text
- Will returnstring
or whatever override input you pass.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.