也门自由 / laravel-validation
此包的最新版本(0.0.8)没有提供许可证信息。
使用laravel验证独立支持翻译。
0.0.8
2017-11-27 13:50 UTC
Requires
- rakit/validation: ^0.13.1
README
一个用于在laravel外部使用laravel验证并支持翻译错误消息的小型包。此包是扩展自rakit/validation,所以请阅读它的文档以获取更多信息。
功能
- 通过特质轻松初始化验证。
- 支持多语言错误消息。
- 更多功能即将推出。
要求与安装
需要PHP 7.0+
通过Composer
$ composer require yemenifree/laravel-validation
入门
在类中添加HasValidator特质以初始化验证。
use Yemenifree\Validation\Traits\HasValidator; class SomeController { use HasValidator; // }
然后,要验证一些数据,您可以传递数据数组和规则以及其他选项。
$this->valid(array $data, array $rules, array $messages = [], array $aliases = [])
例如
/** * Register User * * @return array */ public function register() { $isValid = $this->valid( [ 'username' => 'salah', 'password' => 'test' ] , [ 'username' => 'required', 'password' => 'required', ]); if(!$isValid){ // data not valid. } // every thing right. }
如果您在控制器中所有表单都有相同的响应,您可以在类中创建InValidCallback来一次性处理验证错误。
use Yemenifree\Validation\Traits\HasValidator; class SomeController { use HasValidator; /** * Register User * * @return array */ public function register() { $isValid = $this->valid( [ 'username' => 'salah', 'password' => 'test' ] , [ 'username' => 'required', 'password' => 'required', ]); // if data not valid will excute `InValidCallback` in this class. if(!$isValid) { return; } // every thing right. } /** * In valid function. * * @param array $errors * * @throws InvalidArgumentException */ public function InValidCallback(array $errors) { // do whatevet you want with errors. return false; } }
您可以使用自定义翻译文件来为验证错误提供翻译。
use Yemenifree\Validation\Traits\HasValidator; class SomeController { use HasValidator; public function __construct() { $this->setValidatorLocal( // file name wihout .php 'ar', // path of translate 'translate/path' ); } /** * Register User * * @return array */ public function register() { $isValid = $this->valid( [ 'username' => 'salah', 'password' => 'test' ] , [ 'username' => 'required', 'password' => 'required', ]); if(!$isValid) { // message errors. $errors = $this->getValidErrors(); } // every thing right. } }
翻译文件必须返回消息数组。例如,请参阅
src/lang/ar.php。
要访问Validator的所有方法,请使用getValidator()方法。
use Yemenifree\Validation\Traits\HasValidator; class SomeController { use HasValidator; public function __construct() { // add custom rule. $this->getValidator()->addValidator('simple', new SimpleRule()); } }
有关规则的更多信息,请查看rakit/validation
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件yemenifree@yandex.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件