From 0414d439985fd205aff736aae9937addff31707e Mon Sep 17 00:00:00 2001 From: vencipopov Date: Fri, 5 May 2017 13:53:11 +0300 Subject: [PATCH 1/2] Support Laravel 5.4 --- src/Javascript/MessageParser.php | 2 +- src/JsValidatorFactory.php | 5 +++-- src/Remote/Validator.php | 6 +++--- src/Support/DelegatedValidator.php | 17 +++++++++++++---- src/Support/ValidationRuleParserProxy.php | 16 ++++++++++++++++ tests/Remote/ResolverTest.php | 2 +- 6 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 src/Support/ValidationRuleParserProxy.php diff --git a/src/Javascript/MessageParser.php b/src/Javascript/MessageParser.php index cb5c1c53..5bab9102 100644 --- a/src/Javascript/MessageParser.php +++ b/src/Javascript/MessageParser.php @@ -34,7 +34,7 @@ public function getMessage($attribute, $rule, $parameters) $data = $this->fakeValidationData($attribute, $rule, $parameters); $message = $this->validator->getMessage($attribute, $rule); - $message = $this->validator->doReplacements($message, $attribute, $rule, $parameters); + $message = $this->validator->makeReplacements($message, $attribute, $rule, $parameters); $this->validator->setData($data); diff --git a/src/JsValidatorFactory.php b/src/JsValidatorFactory.php index 7d44e1f2..8cab41c7 100644 --- a/src/JsValidatorFactory.php +++ b/src/JsValidatorFactory.php @@ -10,6 +10,7 @@ use Proengsoft\JsValidation\Support\DelegatedValidator; use Proengsoft\JsValidation\Javascript\ValidatorHandler; use Proengsoft\JsValidation\Javascript\JavascriptValidator; +use Proengsoft\JsValidation\Support\ValidationRuleParserProxy; class JsValidatorFactory { @@ -157,7 +158,7 @@ protected function createFormRequest($class) $formRequest = $this->app->build($class, $params); if ($session = $request->getSession()) { - $formRequest->setSession($session); + $formRequest->setLaravelSession($session); } $formRequest->setUserResolver($request->getUserResolver()); $formRequest->setRouteResolver($request->getRouteResolver()); @@ -194,7 +195,7 @@ protected function jsValidator(Validator $validator, $selector = null) $view = $this->options['view']; $selector = is_null($selector) ? $this->options['form_selector'] : $selector; - $delegated = new DelegatedValidator($validator); + $delegated = new DelegatedValidator($validator, new ValidationRuleParserProxy()); $rules = new RuleParser($delegated, $this->getSessionToken()); $messages = new MessageParser($delegated); diff --git a/src/Remote/Validator.php b/src/Remote/Validator.php index 537163c8..bc1b4c24 100644 --- a/src/Remote/Validator.php +++ b/src/Remote/Validator.php @@ -4,7 +4,7 @@ use Illuminate\Http\JsonResponse; use Proengsoft\JsValidation\Support\RuleListTrait; -use Illuminate\Http\Exception\HttpResponseException; +use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Validation\Validator as BaseValidator; use Proengsoft\JsValidation\Support\AccessProtectedTrait; @@ -57,7 +57,7 @@ public function validate($field, $parameters = []) * @param \Illuminate\Validation\Validator $validator * @return void * - * @throws \Illuminate\Validation\ValidationException|\Illuminate\Http\Exception\HttpResponseException + * @throws \Illuminate\Validation\ValidationException|\Illuminate\Http\Exceptions\HttpResponseException */ protected function throwValidationException($result, $validator) { @@ -153,7 +153,7 @@ protected function purgeNonRemoteRules($rules, $validator) $protectedValidator = $this->createProtectedCaller($validator); foreach ($rules as $i => $rule) { - $parsedRule = call_user_func($protectedValidator, 'parseRule', [$rule]); + $parsedRule = ValidationRuleParser::parse([$rule]); if (! $this->isRemoteRule($parsedRule[0])) { unset($rules[$i]); } diff --git a/src/Support/DelegatedValidator.php b/src/Support/DelegatedValidator.php index 1fa260e8..1613f5c1 100644 --- a/src/Support/DelegatedValidator.php +++ b/src/Support/DelegatedValidator.php @@ -15,6 +15,13 @@ class DelegatedValidator */ protected $validator; + /** + + * Validation rule parser instance. + + * + + * @var \Proengsoft\JsValidation\Support\ValidationRuleParserProxy + + */ + protected $ruleParser; + /** * Closure to invoke non accessible Validator methods. * @@ -26,10 +33,12 @@ class DelegatedValidator * DelegatedValidator constructor. * * @param \Illuminate\Validation\Validator $validator + * * @param \Proengsoft\JsValidation\Support\ValidationRuleParserProxy $ruleParser */ - public function __construct(BaseValidator $validator) + public function __construct(BaseValidator $validator, ValidationRuleParserProxy $ruleParser) { $this->validator = $validator; + $this->ruleParser = $ruleParser; $this->validatorMethod = $this->createProtectedCaller($validator); } @@ -107,9 +116,9 @@ public function isImplicit($rule) * * @return string */ - public function doReplacements($message, $attribute, $rule, $parameters) + public function makeReplacements($message, $attribute, $rule, $parameters) { - return $this->callValidator('doReplacements', [$message, $attribute, $rule, $parameters]); + return $this->callValidator('makeReplacements', [$message, $attribute, $rule, $parameters]); } /** @@ -147,7 +156,7 @@ public function getMessage($attribute, $rule) */ public function parseRule($rules) { - return $this->callValidator('parseRule', [$rules]); + return $this->ruleParser->parse($rules); } /** diff --git a/src/Support/ValidationRuleParserProxy.php b/src/Support/ValidationRuleParserProxy.php new file mode 100644 index 00000000..797312a0 --- /dev/null +++ b/src/Support/ValidationRuleParserProxy.php @@ -0,0 +1,16 @@ + Date: Fri, 5 May 2017 14:20:36 +0300 Subject: [PATCH 2/2] Set theme jekyll-theme-minimal --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..2f7efbea --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-minimal \ No newline at end of file