基本用法
最后更新于:2022-04-01 15:10:35
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 回调函数。