lakshmaji/validators

Laravel 验证器

1.0.2 2018-06-03 13:08 UTC

This package is auto-updated.

Last update: 2024-09-08 18:12:49 UTC


README

它是什么

  • Laravel 验证助手

版本

1.0.1

示例

Image

兼容性

安装

  • 此包可以通过 composer 安装获得
    composer require lakshmaji/validators
  • 尝试使用 composer 更新应用程序(自动加载类命名空间,但不是必需的 😉 )
  composer dump-autoload

配置

  • 发布配置文件。
    php artisan vendor:publish
  • 配置文件将被发布到您的应用程序 config 目录,文件名为 *validators.php*。

  • 配置所需的验证器命名空间和验证器类路径。

  • 一个示例配置文件(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',

];

生成验证器

  • 在终端中运行以下命令
php artisan make:validator CreateVehicle
  • 这将生成以下类,并将其定位到在 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();
  }
}

杂项

  • 安装包后,您将在项目中找到 artisan 命令
    
    

php artisan list


- OR
```bash
php artisan help make:validator

感谢

[@parthshukla] (https://github.com/parthshukla)

许可协议

MIT