基本用法

2018-02-24 15:52 更新

Laravel 通过 Validation 类让您可以简单、方便的验证数据正确性及查看相应的验证错误信息。

基本验证例子

$validator = Validator::make(
    ['name' => 'Dayle'],
    ['name' => 'required|min:5']
);

上文中传递给 make 这个方法的第一个参数用来设定所需要被验证的数据名称,第二个参数设定该数据可被接受的规则。
使用数组来定义规则

多个验证规则可以使用"|"符号分隔,或是单一数组作为单独的元素分隔。

$validator = Validator::make(
    ['name' => 'Dayle'],
    ['name' => ['required', 'min:5']]
);

验证多个字段

$validator = Validator::make(
    [
        'name' => 'Dayle',
        'password' => 'lamepassword',
        'email' => 'email@example.com'
    ],
    [
        'name' => 'required',
        'password' => 'required|min:8',
        'email' => 'required|email|unique:users'
    ]
);

当一个 Validator 实例被建立后,fails(或 passes) 这两个方法就可以在验证时使用,如下:

if ($validator->fails())
{
    // The given data did not pass validation
}

假如验证失败,您可以从验证器中接收错误信息。

$messages = $validator->messages();

您可能不需要错误信息,只想取得无法通过验证的规则,您可以使用 failed 方法:

$failed = $validator->failed();

验证文件

Validator 类提供了一些规则用来验证文件,例如 size, mimes 等等。当需要验证文件时,您仅需将它们和您其他的数据一同送给验证器即可。

验证后钩子

验证器也允许你在完成验证后增加回调函数。这也允许你可以进行更进一步的验证,甚至在消息集合中增加更多的错误信息。我们在验证器实例中使用 after 方法来作为开始:

$validator = Validator::make(...);

$validator->after(function($validator)
{
    if ($this->somethingElseIsInvalid())
    {
        $validator->errors()->add('field', 'Something is wrong with this field!');
    }
});

if ($validator->fails())
{
    //
}

您可以根据需要为验证器增加任意的 after 回调函数。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号