webreinvent/validation

在 Laravel 之外使用 Illuminate Validation。

v4.0 2017-08-06 22:10 UTC

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);
提供自定义翻译器

要提供自定义翻译器,传递一个绑定到 translatorIlluminate\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 验证