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 <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
<input type="radio" name="evaluate" class="evaluate" value=15> 1.5
<input type="radio" name="evaluate" class="evaluate" value=20> 2
<input type="radio" name="evaluate" class="evaluate" value=25> 2.5
<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