【发布时间】:2017-11-07 15:54:04
【问题描述】:
我的 Laravel 框架是 5.4.19
并创建表单请求文件tours2_create_tableRequest.php:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class tours2_create_tableRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'doc_fullnumber' => 'unique:tourists'
];
}
}
(它测试请求中的“doc_fullnumber”是否在“游客”模型中没有重复)
我已将此代码添加到表单blade.php 文件中:
@if($errors->count() > 0 )
<div>
@foreach ($errors->all() as $error)
{{ $error }}
@endforeach
</div>
@endif
在我看来,验证工作正常(当“doc_fullnumber”不唯一时,它会将用户重定向回创建表单页面),但它没有传递 $errors 变量。
我浏览了 Stackoverflow 并发现了几个具有相同问题的主题。他们建议将我所有的路线(在 web.php 中)包装在:
Route::group(['middleware' => ['web']], function () {
});
我已经做到了,但它没有帮助......
这里是表单页面,实际上(临时):http://f832ee57.ngrok.io/tours_2/create (“doc_fullnumber”字段是最后一个。您可以在此处添加“2001”以检查验证)。
我在 git 上的项目:https://github.com/Sergey1983/first
感谢任何帮助!
【问题讨论】:
-
在您的验证中添加表名。我有同样的问题,我用它来修复它 unique:table_name.tourists
-
谢谢,波德尔。但“游客”实际上是表名。
标签: forms laravel validation error-handling request