2016-05-17 4 views
3

Laravel 5.0で作成されたシンプルなアプリをダウンロードしました。私はHttp \ Requestsの下にいくつかのファイルを見つけました。laravel 5でカスタムリクエストクラスを作成する目的は何ですか?

HTTPは、\ \ Request.php

<?php namespace App\Http\Requests; 

    use Illuminate\Foundation\Http\FormRequest; 

    abstract class Request extends FormRequest { 

     // 

    } 

のHttpを要求します\ \管理\ PhotoRequest.php

<?php namespace App\Http\Requests\Admin; 

use Illuminate\Foundation\Http\FormRequest; 

class PhotoRequest extends FormRequest { 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'language_id' => 'required|integer', 
      'photo_album_id' => 'required|integer', 
     ]; 
    } 

    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

} 

何これらのクラスの目的で、どのようにそれが反映さんの?要求

+0

複数の場所で同じフォームを検証する必要がある場合はどうすればよいですか?あなたの自己を繰り返さない方法 –

答えて

3

メンテナンス性を向上させるために、スキニーコントローラが必要です。多くの検証ルールを持つフォームフィールドがたくさんある場合、コントローラは膨大になります。したがって、モデル内のすべてのデータロジック、要求クラス内の検証ロジックなどを移動する必要があります。

詳細については、hereを参照してください。

1

たとえば、rules()メソッドは、フォームを送信すると、フィールドが検証されているかどうかをチェックします。あなたが使用できるコントローラで

関連する問題