2017-01-29 1 views
0

Эта проблема была исправлена ​​в Laravel 5.4.9.Laravel TransformRequest не применяется к собственным классам запросов

Два новых класса промежуточного программного обеспечения не применяются к моим собственным запросам. Два новых промежуточного слоя являются:

\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

Возвращает необработанный контент. Я также отлаживал функции, и они работают. Если я использую запрос помощника («поле»), он возвращает обработанный контент. Проблема в том, что я хочу использовать обработанный контент в моем собственном классе запросов для проверки. – andershagbard

+0

обрезать и преобразовать его вручную (используйте функции trim() и terany для преобразования). Я думаю, что эти средние работы работают после запроса –

ответ

1

Я нашел решение в представительстве Github.

Добавьте к вашему классу запрос следующее.

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

    return parent::all(); 
} 

Если вы проверяете типы в своих правилах, вам может потребоваться добавить «nullable» в правила.

+0

Работает как очарование! –

+1

исправлено v5.4.9 около 20 минут назад! –

+0

Спасибо за информацию. – andershagbard

Смежные вопросы