anik / form-request
Form request is a package for Lumen that lets developer validate form requests like Laravel does.
Installs: 350 073
Dependents: 4
Suggesters: 11
Security: 0
Stars: 50
Watchers: 2
Forks: 24
Open Issues: 1
pkg:composer/anik/form-request
Requires
- php: ^7.2|^8.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- anik/testbench-lumen: ^1.0
README
Form-Request
 
 

A package that helps developer to segregate the validation logic from controller to a separate dedicated class. Lumen
doesn't have any FormRequest class like Laravel. This will let you do that.
Installation
- Install the package by running composer require anik/form-requestfrom your terminal being in the project directory.
- Register \Anik\Form\FormRequestServiceProvider::classto yourbootstrap/app.phpas a provider.
// bootstrap/app.php $app->register(\Anik\Form\FormRequestServiceProvider::class);
How to use?
- Create a class that extends Anik\Form\FormRequestclass.
- You must override rulesmethod of theAnik\Form\FormRequestclass. Define your validation rules in it. Must return an array.
- You can define validation messages by overriding messagesmethod. Default is[].
- You can define custom pretty attribute names by overriding attributesmethod. Default is[].
- You can override authorizemethod to define the authorization logic if the client is authorized to submit the form. Must return a boolean value. Default istrue. When returningfalse, it'll raise\Illuminate\Auth\Access\AuthorizationExceptionexception.
- If the validation fails, it will throw Illuminate\Validation\ValidationException.- By default, it returns response in {"message": "The given data was invalid.", "errors": []}format with status code422. Handle the exception inapp/Exceptions/Handler.php'srendermethod if you want to modify the response.
- Override the statusCodemethod to return the status of your choice. Must returnint. Default is422.
- Override the errorMessagemethod to return the message of your choice. Must returnstring. Default isThe given data was invalid.
- Override the errorResponsemethod to return response of your choice when the validation fails. Must return either of type\Symfony\Component\HttpFoundation\Responseornull.
 
- By default, it returns response in 
- Now you can inject your Request class through the method injections. All the methods
of Laravel\Lumen\Http\Requestclass is available in your request class.
- The FormRequest::validated()method will return the validated data when the validation passes.