Laravel 5.2表单验证请求

时间:2016-02-12 12:02:04

标签: php validation laravel laravel-5 laravel-5.2

我目前正在尝试验证“创建文章”#39;在我的第一个Laravel应用程序中形成,我遇到了一些问题。我一直在关注一个适用于Laravel 5的教程,但是,我在这个项目上运行Laravel 5.2。我已经阅读了Laravel 5.2中的验证文档,我已经问了另一个Laravel开发人员,但我们似乎无法弄明白。

CreateArticleRequest.php     

namespace App\Http\Requests;

use App\Http\Requests\Request;

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

    /**
      * Get the validation rules that apply to the request.
      *
      * @return array
     */

    public function rules()
    {
        return [
            'title' => 'required|min:3',
            'body' => 'required',
            'published_at' => 'required|date'
        ];
    }
}
来自ArticlesController.php的

create()和store()

public function create()
{
    return view('articles.create');
}

public function store(CreateArticleRequest $request)
{
    Article::create($request->all());

    return redirect('articles');
}

我在尝试加载create.blade.php中的错误

{{ dd($errors->all()) }}
@if ($errors->any())
    <ul class="alert alert-danger">
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
@endif

从$ errors返回的ErrorBag是完全空的,似乎不想填充。我也尝试使用Validator $验证器,但我似乎无法将其加载到。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

将所有路由放入其中以启用会话错误共享:

Route::group(['middleware' => ['web']], function () {
    // Here comes your routes
});

更多详情:Custom request not calling controller method on form validation success