12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
-
- namespace Illuminate\Validation;
-
- use Illuminate\Support\ServiceProvider;
-
- class ValidationServiceProvider extends ServiceProvider
- {
- /**
- * Indicates if loading of the provider is deferred.
- *
- * @var bool
- */
- protected $defer = true;
-
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $this->registerPresenceVerifier();
-
- $this->registerValidationFactory();
- }
-
- /**
- * Register the validation factory.
- *
- * @return void
- */
- protected function registerValidationFactory()
- {
- $this->app->singleton('validator', function ($app) {
- $validator = new Factory($app['translator'], $app);
-
- // The validation presence verifier is responsible for determining the existence of
- // values in a given data collection which is typically a relational database or
- // other persistent data stores. It is used to check for "uniqueness" as well.
- if (isset($app['db'], $app['validation.presence'])) {
- $validator->setPresenceVerifier($app['validation.presence']);
- }
-
- return $validator;
- });
- }
-
- /**
- * Register the database presence verifier.
- *
- * @return void
- */
- protected function registerPresenceVerifier()
- {
- $this->app->singleton('validation.presence', function ($app) {
- return new DatabasePresenceVerifier($app['db']);
- });
- }
-
- /**
- * Get the services provided by the provider.
- *
- * @return array
- */
- public function provides()
- {
- return [
- 'validator', 'validation.presence',
- ];
- }
- }
|