Php Laravel 5验证程序错误:无法解决依赖项解析

Php Laravel 5验证程序错误:无法解决依赖项解析,php,ajax,validation,laravel,Php,Ajax,Validation,Laravel,我在验证方面遇到了一个问题(至少我认为是验证问题),在使用ajax向我的控制器提交表单后,我发现以下错误: Container.php第872行中的BindingResolutionException: 类中无法解析的依赖项解析[Parameter#1[array$data]]Illumb\Validation\Validator 结合此错误: 未捕获类型错误:无法读取未定义的属性“长度” 我的控制器: <?php namespace App\Http\Controllers; use

我在验证方面遇到了一个问题(至少我认为是验证问题),在使用ajax向我的控制器提交表单后,我发现以下错误:

Container.php第872行中的BindingResolutionException: 类中无法解析的依赖项解析[Parameter#1[array$data]]Illumb\Validation\Validator

结合此错误: 未捕获类型错误:无法读取未定义的属性“长度”

我的控制器:

<?php namespace App\Http\Controllers;

use App\Http\Requests;
use Redirect;
use App\Http\Requests\ProductFormRequest;
use Illuminate\Validation\Validator;

class ContactController extends Controller {

public function contactProduct(ProductFormRequest $request, Validator $validator)
{
    if (!strlen($request->input('custom'))) {

        if ($validator->passes()) {
            \Mail::send('emails.order',
                $data = [
                    'firstname' => $request->get('firstname'),
                    'lastname'  => $request->get('lastname'),
                    'email'     => $request->get('email'),
                ], function ($message) use ($request) {
                    $message->from($request->get('email'));
                    $message->to('info@example.nl', 'example')
                            ->subject('example');
            });

            return $status = json_encode('success');
        }

        return $errors = json_encode($validator->errors()->all());
    }
}
}

请查看链接:-嗨,我以前看过那篇文章,但没能让我走上正轨。我不明白如何在我的案例中应用它你需要做两次验证吗?请求应该处理验证。我之所以添加if$validator->passs()是因为我需要在ajax未通过时将验证错误返回到ajax解决了我的问题,不必再次添加验证程序
<?php namespace App\Http\Requests;

use App\Http\Requests\Request;

class ProductFormRequest extends Request {

public function authorize()
{
    return true;
}


public function rules()
{
    return [
        'firstname' => 'required',
        'lastname'  => 'required',
        'email'     => 'required|email'
    ];
}

}