frbit / validator-loader-laravel
此包已被弃用,不再维护。未建议替代包。
服务提供者,用于从文件或目录中加载Laravel验证器定义
0.1.3
2014-08-18 11:38 UTC
Requires
- php: >=5.3.0
- frbit/validator-loader: >=0.1.3
- illuminate/support: 4.2.*
Requires (Dev)
This package is not auto-updated.
Last update: 2020-01-24 15:22:01 UTC
README
允许您将验证规则源文件(.json、.yml、.php)或结构化到目录中。具有简单的继承功能和变量,可减少重复编写相同的正则表达式(或类似内容)。请参阅Validator Loader包的示例。
安装
$ php composer.phar require "frbit/validator-loader-laravel:*"
现在将服务提供者和外观(如果需要)添加到 app/config/app.php
<?php return array( # ... 'providers' => array( # ... 'Frbit\ValidatorLoader\Laravel\ValidatorLoaderServiceProvider', ), # ... 'aliases' => array( # ... 'ValidatorLoader' => 'Frbit\ValidatorLoader\Laravel\Facade\ValidatorLoader' ) )
使用方法
此包提供了一个外观并与IoC 容器进行注册。
请参阅Validator Loader包的readme文件,以获取验证规则示例。
使用外观
在您的模型或控制器中某处
<?php // get the input for validation $input = Input::all(); // this returns just the same as Laravel's \Validator::make($input, $rules) would $validator = \ValidatorLoader::get("my-form", $input); if ($validator->fails()) { # .. )
使用IoC
在您的模型或控制器中某处
<?php // get the input for validation $input = Input::all(); // this returns just the same as Laravel's \Validator::make($input, $rules) would $loader = \App::make("validator-loader"); $validator = $loader->get("my-form", $input); if ($validator->fails()) { # .. )
配置
首先发布配置
$ php artisan config:publish frbit/validator-loader-laravel
您可以在app/config/packages/frbit/validator-loader-laravel
中找到配置
文件中的规则
将所有验证规则放在一个文件中。将source
设置为file
,并在sources.file
中编写您的验证规则。
<?php return array( 'source' => 'file', 'sources' => array( // relative paths are considered realtive to app folder 'file' => 'path/to/file' ) );
目录中的规则
当需要大量验证规则或希望有整洁的结构时。将source
设置为directory
,并在sources.directory
中编写您的验证规则。
<?php return array( 'source' => 'directory', 'sources' => array( // relative paths are considered realtive to app folder 'directory' => 'path/to/directory' ) );
数组中的规则
可能是为了测试。将source
设置为array
,并在sources.array
中编写您的验证规则。
<?php return array( 'source' => 'array', 'sources' => array( 'array' => array( # .. ) ) );
缓存
特别是对于directory
源,加载验证规则可能导致每次请求的磁盘I/O增加,从而降低性能。缓存可以减轻这种情况。
<?php return array( // time in minutes -> set to 0 to disable caching 'cache' => 123, // key name under which cache is stored 'cache-key' => 'some-key-name', );