trueifnotfalse / lumen-strict-types-validation
A validator for lumen to require strict types in form request data
Requires
- php: >=7.4
- laravel/lumen-framework: >=8
Requires (Dev)
- mockery/mockery: ^1.5
- orchestra/testbench: >=5
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-11-15 09:48:58 UTC
README
Ensures incoming form request data is of a certain datatype.
About
While Lumen includes many useful validation rules out of the box, it lacks the ability to validate data type as well
as content type. There have been a couple
complaints about this over the years, but due to the versatile nature of
Laravel, it doesn't seem likely that validation rules such as integer
or boolean
will begin validating that the data
is actually of the desired type.
This package provides a way for you to require the incoming data to be of a given type, such as int
, bool
, float
, etc.
Installation
Pre Requisites
- Lumen v8+
- PHP 7.4+
Install with Composer
composer require trueifnotfalse/lumen-strict-types-validation
Add to bootstrap/app.php
and register the Service Provider.
$app->register(TrueIfNotFalse\LumenStrictValidation\Providers\StrictValidationProvider::class);
Usage
When constructing validation rules, simply add type-<desired type>
to the validation rules string/array.
$rules = [
'id' => 'required|type-int', # This will require the incoming `id` to be an integer.
];
Failure Messages
The failure message format is:
The :attribute must be of type :type
Where attribute
is the attribute being validated (id
from the above example) and type
is the desired type to validate
against (int
in the above example).
If the above example failed, we would receive this message:
The id must be of type int