Laravel简单验证不适用于资源方法

时间:2018-05-30 05:49:54

标签: php laravel laravel-5.6

基本上我在userblog/create.blade.php

上有这个表格
<form action="{{route('userblog.store')}}" method="POST">
    {{csrf_field()}}
    <div class="form-group">
        <div class="row">
            <div class="col-md-12">
                <label style="font-family: SansBold">تیتر وبلاگ:</label>
                <input type="text" name="blog_title"
                       class="form-control">
            </div>
        </div>
    </div>

    <div class="text-right">
        <button type="submit" class="btn btn-primary">
            Save
            <i class="icon-arrow-left13 position-right"></i></button>
    </div>

    <br/>
</form>

web.php

上使用此路线
Route::group(['middleware' => ['auth:web'], 'prefix' => 'page'], function () {
    $this->resource('userBlog', 'UserBlogController');
});

现在我正在尝试使用此代码检查Controller上的已发布表单并将其存储在数据库中:

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'blog_title' => 'required|min:10',
        'blog_content' => 'required|min:10',
    ]);

    if ($validator->failed()) {
        return back();
    } else {
      dd('store on database');
    }
}

在我的代码中我得到了

Route [userblog.store] not defined

错误,当我将表单操作更改为/page/userBlog时,我[]上的$validator

1 个答案:

答案 0 :(得分:1)

路由名称应该与资源名称相似。替换您的资源名称或路线名称,如:

$this->resource('userblog', 'UserBlogController');

.. action="{{route('userBlog.store')}}"

BTW,这不是验证错误。只需修好你的路线。