/** * Creates JsValidator instance based on FormRequest. * * @param $formRequest * @param null $selector * * @return Manager * * @throws FormRequestArgumentException */ public function formRequest($formRequest, $selector = null) { if (!is_subclass_of($formRequest, 'Illuminate\\Foundation\\Http\\FormRequest')) { throw new FormRequestArgumentException((string) $formRequest); } if (is_string($formRequest)) { $formRequest = $this->createFormRequest($formRequest); } $rules = method_exists($formRequest, 'rules') ? $formRequest->rules() : []; $validator = $this->validator->make([], $rules, $formRequest->messages(), $formRequest->attributes()); return $this->jsValidator($validator, $selector); }
/** * Register the validation factory. * * @return void */ protected function registerValidationFactory() { $this->app->singleton('jsvalidator.validator', function ($app) { $currentValidator = $app['validator']; $validator = new Factory($currentValidator, $app); // The session manager is responsible to secure Ajax validations if (isset($app['session.store'])) { $validator->setSessionStore($app['session.store']); } $validator->setJsRemoteEnabled(!$app['config']->get('jsvalidation.disable_remote_validation')); return $validator; }); $this->app->booting(function ($app) { $app['validator'] = $app['jsvalidator.validator']; }); }