三個概念
在解釋這四個驗證規則之前,需要明晰三個概念 —— 空值(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