2014-03-29 97 views

回答

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

听起来不错,但我不太明白。什么是工厂($ app ['translator'],$ app)? –

+0

所以你需要创建自己的'Factory'类来扩展'Illuminate \ Validator \ Factory'。这些构造函数注入参数是必需的。基本上,你上面看到的是来自['Illuminate \ Validator \ ValidationServiceProvider'](http://laravel.com/api/source-class-Illuminate.Validation.ValidationServiceProvider.html#14-37)。 –