簡體   English   中英

Laravel 5.1 $ this-> validate(…)引發錯誤

[英]Laravel 5.1 $this->validate(…) throws error

我正在嘗試使用laravel的驗證( http://laravel.com/docs/5.1/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\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() !!}

我不知道為什么它使用錯誤的Request類,以及為什么在控制器中使用了兩個?

該錯誤歸因於您的include標頭:

嘗試

use Illuminate\Http\Request;

代替

use Request;

例:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM