Php Laravel 5.1美元此->;验证(…)抛出错误
我试图使用laravel的validation()将验证添加到我的资源控制器中,但出现以下错误:Php Laravel 5.1美元此->;验证(…)抛出错误,php,validation,laravel-5.1,Php,Validation,Laravel 5.1,我试图使用laravel的validation()将验证添加到我的资源控制器中,但出现以下错误: ErrorException in ValidatesRequests.php line 30: Argument 1 passed to App\Http\Controllers\Controller::validate() must be an instance of Illuminate\Http\Request, instance of Illuminate\Support\Facade
ErrorException in ValidatesRequests.php line 30:
Argument 1 passed to App\Http\Controllers\Controller::validate() must be an
instance of Illuminate\Http\Request,
instance of Illuminate\Support\Facades\Request given,
called in
/Users/lextoc/Documents/Sites/partyrecycler/app/
Http/Controllers/MarkerController.php on line 30 and defined
这是控制器:
namespace App\Http\Controllers;
use Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;
class MarkerController extends Controller
{
...
public function create()
{
return view('markers.create');
}
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required|max:255',
'x' => 'required',
'y' => 'required',
]);
$marker=Request::all();
Marker::create($marker);
return redirect('markers');
}
...
}
以及以下观点:
<h1>Create marker</h1>
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
{!! Form::open(array('route' => 'markers.store')) !!}
{!! csrf_field() !!}
<div>
Name
<input type="text" name="name">
</div>
<div>
x
<input type="text" name="x">
</div>
<div>
y
<input type="text" name="y">
</div>
<div>
<button type="submit">Create</button>
</div>
{!! Form::close() !!}
创建标记
@如果(计数($errors)>0)
@foreach($errors->all()作为$error)
- {{$error}}
@endforeach
@恩迪夫
{!!Form::open(数组('route'=>'markers.store'))
{!!csrf_field()!!}
名称
x
Y
创造
{!!Form::close()!!}
我不知道为什么它使用了错误的请求类,为什么控制器中使用了两个请求类?错误是由于您的include头造成的: 试一试 而不是
use Request;
例如:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;
print\r($request)
查看是否有任何数据,然后我得到以下错误:非静态方法illumb\Http\request::all()不应静态调用,假设$this来自不兼容的上下文。我查过了,他建议把它改回去哦,我明白了。而不是调用$marker=Request::all()
,您应该调用:$marker=$request->all()代码>不用担心:)。很乐意帮忙
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;