2017-01-29 13 views
0

この問題はLaravel 5.4.9で修正されました。独自のリクエストクラスにLaravel TransformRequestが適用されない

2つの新しいミドルウェアクラスは、自分のリクエストには適用されません。 二つの新しいミドルウェアは、以下のとおりです。

\App\Http\Middleware\TrimStrings::class 
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class 

しかし、彼らは自分の要求にその変更を適用しません。例:私はこの要求を持っています:

namespace App\Http\Requests; 

use Illuminate\Foundation\Http\FormRequest; 
use Illuminate\Support\Facades\Auth; 

class CreateStoreRequest extends FormRequest 
{ 
    public function authorize() 
    { 
     return Auth::check(); 
    } 

    public function rules() 
    { 
     var_dump($this->all()); // Content not handled by middleware 

     return [ 
      // Rules 
     ]; 
    } 
} 

私はvar_dumpを使うと、内容が変更されていないことがわかります。

コントローラにIlluminate\Http\Requestを使用している場合は動作します。

独自のリクエストクラスに変更を実装する方法はありますか?

+0

メソッドでCreateStoreRequestを使用してdd($ request-> all())を実行して結果を共有しようとすると、正しく動作するはずです –

+0

未処理のコンテンツを返します。また、関数をデバッグして実行しています。ヘルパーリクエスト( 'field')を使用すると、処理されたコンテンツが返されます。問題は、自分のリクエストクラスで処理されたコンテンツを検証のために使用することです。 – andershagbard

+0

トリムして手動で変換する(trim()とterany演算子を使用して変換する)私はそれらのミドルウェアは要求の後に動作すると思う。 –

答えて

1

Github担当者に解決策が見つかりました。

リクエストクラスに以下を追加してください。

public function all() 
{ 
    $this->merge($this->request->all()); 

    return parent::all(); 
} 

あなたは、ルール内の型をチェックしている場合は、ルールに「NULL可能」を追加したい場合があります。

+0

魅力的な作品です! –

+1

はv5.4.9で約20分前に修正されました! –

+0

情報ありがとうございます。 – andershagbard

関連する問題