glukkkk / lumen-request-validate by glukkkk
forked from pearlkrishn/lumen-request-validate

Lumen doesn't have form request validator seperatly. This package helps developers to segregate the validation layer from the controller to a separate dedicated class
16
0
0
Package Data
Maintainer Username: glukkkk
Maintainer Contact: p.zyukin@gmail.com (glukkkk)
Package Create Date: 2024-08-30
Package Last Update: 2024-08-30
Language: PHP
License: MIT
Last Refreshed: 2024-12-21 03:02:23
Package Statistics
Total Downloads: 16
Monthly Downloads: 7
Daily Downloads: 0
Total Stars: 0
Total Watchers: 0
Total Forks: 0
Total Open Issues: 0

Lumen doesn't have form request validator seperatly. This package helps developers to segregate the validation layer from the controller to a separate dedicated class.

Installation

composer require pearl/lumen-request-validate

  • Add the service provider in bootstrap/app.php

$app->register(Pearl\RequestValidate\RequestServiceProvider::class);

Next step is create your validator class using below console comment

php artisan make:request {class_name}

Request validator class will be create under app/Http/Requests folder.

Example:

Login validation class

<?php
namespace App\Http\Requests;

use Pearl\RequestValidate\RequestAbstract;

class Login extends RequestAbstract
{
   /**
    * Determine if the user is authorized to make this request.
    *
    * @return bool
    */
   public function authorize()
   {
       return true;
   }

   /**
    * Get the validation rules that apply to the request.
    *
    * @return array
    */
   public function rules()
   {
       return [
			"username" => "required",
			"password" => "required"
       ];
   }

   /**
    * Get custom messages for validator errors.
    *
    * @return array
    */
   public function messages()
   {
       return [];
   }
}

How to use?

Now you can use your Request class in method injections

...
use App\Http\Requests\Login;

class ExampleController extends Controller
{
    public function auth(Login $request)
    {
	//Login logic goes here
    }
...