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())->validator; } public function validator(array $data) { return Validator::make($data, [ 'name' => 'required|string|max:255', 'email' => 'required|string|unique:users|email|max:255', 'password' => 'required|string|min:6|confirmed', ]); }
$request->all()
就是输入数据,Validator::make
里的 name
、email
和 password
就是验证字段。
验证规则
required
验证字段必须出现在输入数据中,不能为空。
present
验证字段必须出现在输入数据中,可以为空。
filled
验证字段可不在输入数据中,
当验证字段出现在数据中时,不能为空。
nullable
验证字段的值可以为 null
。
参考链接
https://laravel-china.org/docs/laravel/5.4/validation#available-validation-rules