Laravel 5 laravel 5表单请求验证问题

Laravel 5 laravel 5表单请求验证问题,laravel-5,Laravel 5,在我的Laravel5.1应用程序中,我有一个带有必填“Title”字段和其他几个非必填字段的图书模型。为了验证图书创建/更新,我使用如下表单请求验证: class StoreBookRequest extends Request { public function authorize() { return true; } public function rules() { return [ 't

在我的Laravel5.1应用程序中,我有一个带有必填“Title”字段和其他几个非必填字段的图书模型。为了验证图书创建/更新,我使用如下表单请求验证:

class StoreBookRequest extends Request
{

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'title' => 'required',
            'year' => 'numeric',
            'pages' => 'numeric',
        ];
    }
} 
然后,我在控制器操作上输入hint请求,一切都正常。现在我需要创建一个新的控制器操作,只更新一个非必需字段。为此,我创建了另一个请求,如下所示:

class StoreReviewRequest extends Request
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'vote' => 'numeric',
        ];
    }
}
我在控制器操作中键入提示请求:

public function updateReview(StoreReviewRequest $request, Book $book)
{
    $input = array_except(Input::all(), '_method');
    $book->update($input);
    Session::flash('message', 'Review updated');

    return redirect('/book');
}

问题是,当我使用新的控制器操作时,更新表单没有通过验证,但会抱怨缺少“Title”字段,即使很难,我也没有按照StoreReviewRequest类的要求贴花该字段。我做错了什么?谢谢

正如@Needpoule所建议的,我在表单中使用了错误的操作。

您在规则中声明了
'title'=>'required'
。这就是为什么它显示该字段是必需的。您确定在提交表单时使用了正确的控制器吗?@jilsontomas在uodateReview操作中,我使用的是StoreReviewRequest,其中没有“title”=>必填项。@Needpoule是的,控制器是正确的。您可以显示表单吗?