【发布时间】:2020-07-01 02:17:00
【问题描述】:
我有一个简单的控制器,Laravel 5.5,有一些基本的验证,但是当我输入无效数据时,我提交表单并得到一个“ValidationException: The given data was invalid”。
该框架应该将我重定向到带有错误消息的表单,但我最终出现在大红色异常页面上。
为什么会这样?
/**
* Store blog comment
*/
public function store(Request $request)
{
try {
$blogPost = BlogPost::where('id', '=', $request->blog_post_id)->get()->first();
if (!$blogPost) {
abort(404);
}
$validatedData = $this->validate($request, [
'blog_post_id' => 'required|numeric',
'blog_comment' => 'required|min:3',
'blog_comment_name' => 'required|min:3',
'blog_comment_company' => 'nullable'
]);
这是将我送回异常页面的控制器。
【问题讨论】:
-
为了我们帮助你,把你的表单数据或者json数据贴在请求和异常有的验证数据上。如果异常不是重定向等,您需要检查处理程序中发生的情况。同时,您的尝试应该会发现,在我们提供帮助之前需要更多详细信息:)
-
搜索你的错误消息会发现一些线索,即那个异常和消息是 Laravel 的默认验证所做的,但它会被自动捕获并按我们预期的方式处理。 This question 进一步表明,在该问题中,您自己的异常处理很可能会干扰 Laravel 的标准行为。将验证从尝试/捕获中移出。
标签: laravel validation laravel-5