Laravel 5.1 中的“无法解析的依赖项解析”错误自定义验证


"Unresolvable dependency resolving" error custom validation in laravel 5.1

为了在 laravel 5.1 中创建自定义验证规则,我在目录中创建了一个名为 CustomValidators 的类App/Validatiors如下所示:

namespace  App'Validators;
    use App'Classes'Utilities;
    class CustomValidators extends 'Illuminate'Validation'Validator
    {
        public function DateTime ($field , $value ,$param, $validator){
            dd($value);
        }
    }

AppServiceProvider.php,我添加了这个:

Validator::extend('date_time', 'App'Validators'CustomValidators@DateTime');

在控制器store()函数中,我是这样使用它的:

$rules = array (
                'start_publish' => 'date_time',
            );

但是在运行App时,发生了此错误:

BindingResolutionException in Container.php line 824:
Unresolvable dependency resolving [Parameter #1 [ <required> array $data ]] in class Illuminate'Validation'Validator

当我直接定义 DateTime() 函数时AppServiceProvider.php所有事情都是这样工作的:

Validator::extend('date_time', function ($field , $value ,$param, $validator){
                dd($value);
            });

我遵循自定义验证时的问题是什么 拉拉维尔文档

我发现了问题

定义类时我不应该扩展'Illuminate'Validation'Validator CustomValidators因为它通过以下方式自动扩展Validator类:

Validator::extend('date_time', 'App'Validators'CustomValidators@DateTime');

其实CustomValidators类一定是这样的:

namespace  App'Validators;
    use App'Classes'Utilities;
    class CustomValidators
    {
        public function DateTime ($field , $value ,$param, $validator){
            dd($value);
        }
    }