PHPackages                             songyz/laravel\_validator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. songyz/laravel\_validator

ActiveLibrary[Testing &amp; Quality](/categories/testing)

songyz/laravel\_validator
=========================

扩展laravel验证、验证规则复用、验证器扩展

v0.0.3(5y ago)54.2k[4 issues](https://github.com/songyongzhan/laravel_validator/issues)MITPHPPHP &gt;=7.1CI failing

Since May 12Pushed 5y agoCompare

[ Source](https://github.com/songyongzhan/laravel_validator)[ Packagist](https://packagist.org/packages/songyz/laravel_validator)[ RSS](/packages/songyz-laravel-validator/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (6)Used By (0)

Songyz Laravel Validator扩展
==========================

[](#songyz-laravel-validator扩展)

解决痛点
====

[](#解决痛点)

- 验证器Request中，可以编写多个验证规则
- 验证与业务代码分离、代码更加清晰
- 增加多种常用的验证规则 如 手机号验证、身份证验证
- 增强、优化扩展规则，通过配置文件即可实现多种规则
- 减少代码编写，提高代码复用 释放劳动力

安装配置
----

[](#安装配置)

### 1、安装

[](#1安装)

```
    composer require songyz/laravel_validator
```

执行 `composer update` 完成包加载。

### 2、加载服务

[](#2加载服务)

> Laravel加载服务
> 找到 `config/app.php` 文件，在`providers`中添加以下代码

```
  Songyz\Providers\ValidationServiceProvider::class,
  Songyz\Providers\ValidatorConfigProvider::class,
```

> Lumen加载服务
> 打开`bootstrap/app.php` 添加以下服务提供

```
$app->register(Songyz\Providers\ValidationServiceProvider::class);
$app->register(Songyz\Providers\ValidatorConfigProvider::class);
$app->register(Songyz\Providers\LumenFoundationServiceProvider::class);
```

### 3、发布配置

[](#3发布配置)

> Laravel 执行命令发布

```
php artisan vendor:publish --provider="Songyz\Providers\ValidatorConfigProvider"
```

> Lumen 需手动发布
>
> 在`vendor/songyz/laravel_validator/src/config` 找到 `songyz_validator.php` 复制到`config`目录下。
> 如果`config`目录不存在，手动创建即可。

发布完后，会在`config`目录下生成 songyz\_validator.php 配置文件 至此项目配置完成。

使用方法
----

[](#使用方法)

假设 创建一个User用户类，创建新增方法、更新方法，实现必要的验证

### 1、创建Controller文件及接口

[](#1创建controller文件及接口)

```
php artisan mack:controller UsersController
```

再新创建Controller中新建两个方法：

```
 public function add()
    {
        /**
         * 1、进行必要参数验证
         *    需要验证 username 不能为空
         *           moible    不能为空 且必须是手机号
         * 2、接收参数
         * 3、调用方法入库
         * ...
         */
        echo time();

    }

    public function update()
    {
        /**
         * 1、进行必要参数验证
         *    需要验证 username 不能为空
         *           moible   不能为空 且必须是手机号
         *           id       不能为空 且必须是数字
         * 2、验证主键Id是否存在
         * 2、接收参数
         * 3、调用方法入库
         * ...
         */

    }

    public function del()
    {
        /**
         * 1、进行必要参数验证
         *    需要验证  id       不能为空 且必须是数字
         * 2、验证主键Id是否存在
         * 2、接收参数
         * 3、调用方法入库
         * ...
         */
    }
```

### 2、创建验证器

[](#2创建验证器)

```
php artisan songyz:make:request --request_name=UserRequest
```

执行成功后，在 `app/Http/Requests/` 目录下看到UserRequest.php。
`UserRequest.php`，代码如下:

```
