在Laravel中扩展Validator类


Extending the Validator class in Laravel

我想扩展Laravel中的Validator类。然而,在所有的例子中,make方法是用来创建一个新的实例,我不能在Validator源代码中找到。我如何重写这个方法?构造函数需要一个TranslatorInterface实例,所以这似乎不是一个选项?

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;
});