三個概念
在解釋這四個驗證規則前,需要明晰三個概念——空值(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
。
參考連結
https://learnku.com/docs/laravel/5.4/validation#av...
本作品採用《CC 協議》,轉載必須註明作者和本文連結