在Laravel中扩展Validator类

时间:2014-03-29 11:53:38

标签: php laravel laravel-4

我想在Laravel中扩展Validator类。但是在所有示例中,make方法用于创建我无法在Validator source code中找到的新实例。我该如何覆盖此方法?构造函数需要一个TranslatorInterface实例,因此似乎不是一个选项?

1 个答案:

答案 0 :(得分:3)

make方法实际上位于Illuminate\Validation\Factory

如果要扩展此方法,则需要更换IoC绑定。只是重载容器中的绑定。

App::bindShared('validator', function($app)
{
    $validator = new \Your\Validator\Factory($app['translator'], $app);

    if (isset($app['validation.presence']))
    {
        $validator->setPresenceVerifier($app['validation.presence']);
    }

    return $validator;
});