基本例子
你可以使用 validate
方法驗證請求資料(可在基本控制器中獲得,由 ValidatesRequests
特性提供)。
如果規則通過,你的程式碼將繼續正常執行; 但是,如果驗證失敗,將自動發回包含驗證錯誤的錯誤響應:
- 對於典型的 HTML 表單請求,使用者將被重定向到上一頁,表單保留提交的值
- 對於期望 JSON 響應的請求,將生成具有程式碼 422 的 HTTP 響應
例如,在你的 UserController
中,你可能會在 store
方法中儲存一個新使用者,這需要在儲存之前進行驗證。
/**
* @param Request $request
* @return Response
*/
public function store(Request $request) {
$this->validate($request, [
'name' => 'required',
'email' => 'email|unique:users|max:255'
],
// second array of validation messages can be passed here
[
'name.required' => 'Please provide a valid name!',
'email.required' => 'Please provide a valid email!',
]);
// The validation passed
}
在上面的示例中,我們驗證 name
欄位是否存在非空值。其次,我們檢查 email
欄位是否具有有效的電子郵件格式,在資料庫表 users
中是唯一的,並且最大長度為 255 個字元。
|
(管道)字元組合了一個欄位的不同驗證規則。
有時你可能希望在第一次驗證失敗後停止對屬性執行驗證規則。為此,請將 bail
規則分配給屬性:
$this->validate($request, [
'name' => 'bail|required',
'email' => 'email|unique:users|max:255'
]);
可在以下引數部分中找到可用驗證規則的完整列表。