enova/validation

Illuminate 验证包装器

dev-master 2018-09-18 23:56 UTC

This package is not auto-updated.

Last update: 2024-09-27 08:04:28 UTC


README

  • 安装
  • 简介
  • 验证快速入门
  • 创建手动验证
  • 条件添加规则
  • 自定义验证规则

安装

composer require enova/validator

用法

use Enova\Validation\Validator;

$validator = new Validator();
数据库存在验证器

使用 Illuminate Database Capsule 设置数据库连接实例

$db = $manager->getDatabaseManager();

$validator->setConnection($db);
提供翻译器;
$container = new Illuminate\Container\Container;

$container['translator'] = new Enova\Validation\Translator(new Enova\Validation\Lang\En());

$validator = new Validator($container);
提供自定义翻译器

要提供自定义翻译器,传递一个绑定到 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']
    ]
);
处理错误消息

在调用验证器实例上的 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 验证的更多信息,请参阅 Laravel 文档