Laravel 表單驗證創建“表單請求”實現自定義請求類


  按照文檔創建表單請求自定義類以后,調用總是403頁面,咨詢大佬說:

public function authorize()
{
     // 在表單驗證類的這個方法這里要返回true,默認返回false,這個方法用來判斷用戶是否有權限使用   
     return true;
}

  然后在控制器內使用即可(記得提前引入):

/**
 * 存儲輸入的博客文章
 *
 * @param  StoreBlogPostRequest  $request
 * @return Response
 */
public function store(StoreBlogPost $request){
    // The incoming request is valid...

    // Retrieve the validated input data...
    $validated = $request->validated();
}

 

  以下內容轉載自:https://laravelacademy.org/post/19465.html

  

 

  命令行輸入:

php artisan make:request StoreBlogPost

  生成的類位於 app/Http/Requests 目錄下,如果該目錄不存在,運行 make:request 命令時會替我們生成。

  添加少許驗證規則到該類的 rules 方法:

/**
 * 獲取應用到請求的驗證規則
 *
 * @return array
 */
public function rules(){
    return [
        'title' => 'required|unique:posts|max:255',
        'body' => 'required',
    ];
}

  那么,驗證規則如何生效呢?你所要做的就是在控制器方法中類型提示該請求類。這樣表單輸入請求會在控制器方法被調用之前被驗證,這就是說你不需要將控制器方法和驗證邏輯雜糅在一起:

/**
 * 存儲輸入的博客文章
 *
 * @param  StoreBlogPostRequest  $request
 * @return Response
 */
public function store(StoreBlogPost $request){
    // The incoming request is valid...

    // Retrieve the validated input data...
    $validated = $request->validated();
}

  如果驗證失敗,重定向響應會被生成並將用戶退回上一個位置,錯誤信息也會被存儲到一次性 Session 以便在視圖中顯示。如果是 AJAX 請求,帶 422 狀態碼的 HTTP 響應將會返回給用戶,該響應數據中還包含了 JSON 格式的驗證錯誤信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM