webreinvent / validation
在 Laravel 之外使用 Illuminate Validation。
v4.0
2017-08-06 22:10 UTC
Requires
- illuminate/validation: ^5.4
This package is not auto-updated.
Last update: 2024-09-21 15:12:54 UTC
README
安装
composer require webreinvent/validation
使用
use Webreinvent\Validation\Validator;
$validator = new Validator;
数据库存在验证器
使用 Illuminate Database Capsule 设置数据库连接实例
$db = $capsule->getDatabaseManager();
$validator->setConnection($db);
提供自定义翻译器
要提供自定义翻译器,传递一个绑定到 translator
的 Illuminate\Container\Container
实例。
翻译器必须实现 Symfony\Component\Translation\TranslatorInterface
。
$container = new Illuminate\Container\Container;
$container['translator'] = new CustomTranslator();
$validator = new Validator($container);
创建验证器
$validator = Validator::make(
[
'name' => 'John',
'last_name' => 'Doe'
],
[
'name' => ['required', 'min:3'],
'last_name' => ['required', 'min:3']
]
);
处理错误信息
在 Validator 实例上调用 errors 方法后,您将收到一个 Illuminate\Support\MessageBag
实例,该实例具有处理错误信息的各种方便的方法。
获取字段的第一个错误信息
要获取给定字段的第一个错误信息,使用 first 方法
$messages = $validator->errors();
echo $messages->first('email');
获取字段的全部错误信息
如果您只想获取给定字段的所有消息的数组,使用 get 方法
foreach ($messages->get('email') as $message) {
//
}
获取所有字段的全部错误信息
要获取所有字段的全部消息的数组,使用 all 方法
foreach ($messages->all() as $message) {
//
}
确定字段是否存在消息
if ($messages->has('email')) {
//
}
以格式获取错误信息
echo $messages->first('email', '<p>:message</p>');
Retrieving All Error Messages With A Format
foreach ($messages->all('<li>:message</li>') as $message) {
//
}
查看所有可用的规则和方法,请参阅 Laravel 验证。