我确实从Lumen搬到了Laravel,现在将我的项目转换成了。除验证外,一切正常。出于某种原因,如果我尝试验证,它只是重定向到welcome.blade.php视图。什么可能导致这种情况?
我只使用路径的API部分,而不是视图。 我不是处理视图。我正在使用Laravel的无状态部分。
根据文档,我可以这样验证:
$this->validate($request, [
'title' => 'required|unique|max:255',
'body' => 'required',
]);
如果验证通过,您的代码将继续正常执行。然而, 如果验证失败, 将抛出Illuminate \ Contracts \ Validation \ ValidationException。
我还试图强制它返回JSON响应但没有成功:
$validator = $this->validate($request, ['email' => 'required']);
if ($validator->fails()) {
$messages = $validator->errors();
return new JsonResponse(['status' => 'error', 'messages' => $messages]);
}
然而,我没有失败,只是返回响应代码为200的欢迎视图。我已经尝试了文档和谷歌中的所有可能的验证方法。他们没有工作。
我甚至尝试过使用干净的laravel安装,声明一条测试路径和测试控制器进行了验证,结果完全相同。
验证是否意味着与Laravel的restful / stateless部分兼容?
非常感谢任何建议。
答案 0 :(得分:0)
1-首先,如果您希望电子邮件在users表中是唯一的,则每个示例的唯一键需要一个表,如下所示:
'email' => 'required|unique:users',
答案 1 :(得分:0)
我想您可能已将路线放在route / web.php文件中。将该代码从web.php替换为api.php
尝试将您的API端点放在route / api.php文件中。
请记住,您需要在路线中添加前缀/ api。
Ex:test.com/api/users。