2014-03-29 145 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)。 –