Php 在laravel中执行验证时MethodNotAllowedHttpException错误

Php 在laravel中执行验证时MethodNotAllowedHttpException错误,php,laravel,Php,Laravel,以下是我的刀片: <form action="{{route('ans1.eval')}}" method="post"> <br> <input type="radio" name="evaluate" class="evaluate" value=10> 1 &nbsp; &nbsp; <input type="radio" name="evaluate" class="evaluate" value=15

以下是我的刀片:

<form action="{{route('ans1.eval')}}" method="post">
    <br>
    <input type="radio" name="evaluate" class="evaluate" value=10> 1   &nbsp; &nbsp;
    <input type="radio" name="evaluate" class="evaluate" value=15> 1.5 &nbsp; &nbsp;
    <input type="radio" name="evaluate" class="evaluate" value=20> 2   &nbsp; &nbsp;
    <input type="radio" name="evaluate" class="evaluate" value=25> 2.5 &nbsp; &nbsp;
    <input type="radio" name="evaluate" class="evaluate" value=30> 3   

    <button type="submit" class="btn btn-primary" align="right">Evaluate Answer</button>
    <input type="hidden" value="{{ Session::token() }}" name="_token">
</form>
以下是我的验证:

public function postEvaluateAns(Request $request)
{
    $this->validate($request, [
          'evaluate' => 'required'
    ]);
}

以下是未选择评估时的错误:

MethodNotAllowedHttpException in RouteCollection.php line 218
从laravel文档开始

如果验证规则通过,代码将继续正常执行; 但是,如果验证失败,将引发异常,并且 正确的错误响应将自动发送回用户。在里面 对于传统HTTP请求,将使用重定向响应 生成

当验证失败时,它使用
GET
方法将重定向回(重定向使用
GET
方法),但如果从不是
GET
路由中显示
表单
,它将抛出此错误

因此,您必须使用
GET
路径显示表单

作为备选方案,您可以在验证失败的情况下选择重定向
GET
路径,例如:

公共功能后评估(请求$Request)
{
$validator=validator::make($request->all()[
'评估'=>'必需'
]);
如果($validator->fails()){
返回重定向('failed\u validation\u GET\u route')
->威瑟罗($validator)
->withInput();
}
return redirect()->route('success\u GET\u route')
->有(‘状态’、‘成功’);
}
MethodNotAllowedHttpException in RouteCollection.php line 218