laravel表单验证规则required、present 、filled 和 nullable区别

laravel表单验证规则required、present 、filled 和 nullable区别

在解释这四个验证规则前,我们需要明晰三个概念 —— 空值(empty)、输入数据(input data)和验证字段(filed under validation)。

空值

在 Laravel 中,一个字段值满足下面任一条件都被视为空值。

null。
空字符串('')。
空数组([])或空 Countable 对象。
无路径的上传文件。
输入数据 & 验证字段

以注册功能为例。

```
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

public function register(Request $request)
{
$this->validator($request->all())->validate();

...
}

protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}

$request->all() 就是「输入数据」,Validator::make 里的 name、email 和 password 就是「验证字段」。
```

>验证规则

```
required
验证字段必须出现在输入数据中、不能为空。

present
验证字段必须出现在输入数据中、能为空。

filled
验证字段可不在输入数据中。

当验证字段出现在输入数据中时,不能为空。

nullable
验证字段的值可以是 null。
```

    A+
发布日期:2022年09月26日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: