- Validator helpers for Laravel Validation.
1.0.1
Laravel version | Validators version |
---|---|
5.5 | 1.0.1 |
5.4 <= | ? (not sure) |
- This package is available through composer installation
composer require lakshmaji/validators
- Try updating the application with composer (autloading class namespaces but not mandatory 😉 )
composer dump-autoload
- Publish the configuration file.
php artisan vendor:publish
-
The configuration file will be published to your application config directory with the name * validators.php*.
-
Configure the required validator namespaces and validator class paths.
-
An example configuration file (validators.php).
<?php
return [
/*
|--------------------------------------------------------------------------
| Validator namespace
|--------------------------------------------------------------------------
|
| The namespace for the validator classes.
|
*/
'validator_namespace' => 'App\Validators',
/*
|--------------------------------------------------------------------------
| Validator path
|--------------------------------------------------------------------------
|
| The path to the validators folder.
|
*/
'validator_path' => 'app' . DIRECTORY_SEPARATOR . 'MyValidators' . DIRECTORY_SEPARATOR . 'MyRules',
];
- Issue the following command in terminal
php artisan make:validator CreateVehicle
- This will generate the following class and located the path configured in validators.php
<?php
namespace App\MyValidators\MyRules;
use Lakshmaji\Validators\Laravel\LaravelValidator;
use Lakshmaji\Validators\Contracts\ValidableInterface;
/**
* Class CreateVehicleValidator
* @package App\MyValidators\MyRules
*/
class CreateVehicleValidator extends LaravelValidator implements ValidableInterface
{
/**
* @var array
*/
protected $rules = [
'name' => 'required',
'model' => 'required'
];
/**
* @var array
*/
protected $messages = [
'model.required' => 'Please specify the model number',
];
}
// end of CreateVehicleValidator class
<?php
namespace App\Http\Controllers\Cars;
use App\MyValidators\MyRules\CreateVehicleValidator;
protected $request;
protected $validator;
public function __construct(Request $request, CreateVehicleValidator $validator) {
$this->validator = $validator;
$this->request = $request;
}
public function store() {
$payload = $this->request->all();
// validate here
if($this->validator->with($payload)->passes()) {
// validation succedded
} else {
$errors = $this->validator->formatErrorMessages();
}
}
- After installing package you find the artisan commands in your project
php artisan list
- OR
```bash
php artisan help make:validator
[@parthshukla] (https://github.com/parthshukla)