0

此问题已在 Laravel 5.4.9 中修复。

这两个新的中间件类不适用于我自己的请求。两个新的中间件是:

\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在我的控制器中使用它可以工作。

有没有办法在我自己的请求类中实现更改?

4

1 回答 1

1

我在 Github 代表中找到了解决方案。

将以下内容添加到您的请求类中。

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

    return parent::all();
}

如果您正在检查规则中的类型,您可能希望在规则中添加“可为空”。

于 2017-02-03T10:21:44.113 回答