Download the PHP package guirong/laravel-validate without Composer
On this page you can find all versions of the php package guirong/laravel-validate. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download guirong/laravel-validate
More information about guirong/laravel-validate
Files in guirong/laravel-validate
Package laravel-validate
Short Description The use of the Larravel validator and validation scenarios
License MIT
Homepage https://github.com/GuiRong2969/laravel-validate
Informations about the package laravel-validate
PHP Validate
Laravel
验证器以及验证场景的使用。
- 在laravel内置的验证器基础上,扩展了验证场景
- 解决
FormRequest
验证表单文件过多的问题
项目地址
注意:
- 版本要求
php >= 5.6.0
安装
使用
- 以地址簿的 新增,编辑,删除 功能演示
创建地址簿验证器 \App\Http\Requests\AddressRequest
AddressRequest
验证器:
写入内容
接下来在控制器内使用
创建地址簿控制器 \App\Http\Controllers\AddressController
AddressController
控制器:
验证器的调用方式有三种,分别以地址簿的 新增,编辑,删除
三种场景演示:
新增
:
控制器
AddressController
的create
方法注入依赖时,自动绑定验证器AddressRequest
中的同名create
场景进行校验
编辑
:
控制器
AddressController
的edit
方法中,指定验证器AddressRequest
中的update
场景进行校验
验证器AddressRequest
关闭自动校验, autoValidate
修改为 false,
注意:关闭自动校验后,
新增
中的函数场景自动绑定和删除
中的路由场景绑定将会失效
删除
:
定义路由,指定校验场景为
delete
, 在控制器AddressController
的del
方法注入依赖时,将自动绑定验证器AddressRequest
中的delete
场景进行校验
在 app\Providers\AppServiceProvider.php
boot 下面添加 scene(场景方法)
来看看这里的路由怎么写的吧
添加路由
在 route\api.php
内添加
自定义验证规则
方法1、遵循laravel框架内置能力,使用扩展
注册自定义验证规则的方式是使用 Validator 门面上的 extend 方法。我们在某个服务提供者(如 AppServiceProvider)中使用该方法注册一个自定义验证规则:
自定义验证器闭包接收四个参数:要验证的属性名称、属性值、传递给规则的参数数组以及 Validator 实例。
在 \App\Http\Requests\AddressResuest
验证器内使用
方法2、基于laravel框架内置能力,扩展自定义的验证函数 validate{Method}
扩展自定义验证规则的方式是使用 Validator 验证器上的 addExtension 方法。我们通过引入 CustomExtensionsTrait
特性中的 addCustomExtensions
函数,可在 Validator 验证器内部自动加载自定义验证函数,自定义验证函数命名须符合 validate{Method}
格式,并返回一个闭包
测试
-
新增
-
编辑
-
删除
- 自定义验证规则
结语
本文的
scene
验证场景只是为了灵活适应业务的写法,laravel内置的FormRequest
表单才是最灵活的写法但容易造成类泛滥,感兴趣的话可以自己任意扩展。
License
MIT
我的其他项目
guirong/cli-message
github
一个简单易用的,命令行输出样式工具库
guirong/php-router
github
轻量且快速的路由库
guirong/php-closure
github
闭包的序列化和反序列化类库
guirong/php-validate
github
一个轻量级且功能丰富的验证和过滤库
guirong/php-event
github
一个简洁小巧的php事件监听器
guirong/php-shell
github
一个基于psysh shell
的命令行交互模式依赖包