X7ROOT File Manager
Current Path:
/home/gfecatvj/sites/restate/platform/core/js-validation/src/Remote
home
/
gfecatvj
/
sites
/
restate
/
platform
/
core
/
js-validation
/
src
/
Remote
/
📁
..
📄
Resolver.php
(2.96 KB)
📄
Validator.php
(4.76 KB)
Editing: Resolver.php
<?php namespace Botble\JsValidation\Remote; use Illuminate\Contracts\Validation\Factory as ValidationFactory; use Illuminate\Support\Arr; use Illuminate\Validation\Validator as BaseValidator; use Botble\JsValidation\Support\AccessProtectedTrait; class Resolver { use AccessProtectedTrait; /** * @var \Closure */ protected $resolver; /** * @var \Illuminate\Contracts\Validation\Factory */ protected $factory; /** * Whether to escape validation messages. * * @var bool */ protected $escape; /** * RemoteValidator constructor. * * @param \Illuminate\Contracts\Validation\Factory $factory * @param bool $escape */ public function __construct(ValidationFactory $factory, $escape = false) { $this->factory = $factory; $this->resolver = $this->getProtected($factory, 'resolver'); $this->escape = $escape; } /** * Closure used to resolve Validator instance. * * @param $field * @return \Closure */ public function resolver($field) { return function ($translator, $data, $rules, $messages, $customAttributes) use ($field) { return $this->resolve($translator, $data, $rules, $messages, $customAttributes, $field); }; } /** * Resolves Validator instance. * * @param $translator * @param $data * @param $rules * @param $messages * @param $customAttributes * @param $field * @return \Illuminate\Validation\Validator */ protected function resolve($translator, $data, $rules, $messages, $customAttributes, $field) { $validateAll = Arr::get($data, $field . '_validate_all', false); $validationRule = 'bail|' . Validator::EXTENSION_NAME . ':' . $validateAll; $rules = [$field => $validationRule] + $rules; $validator = $this->createValidator($translator, $data, $rules, $messages, $customAttributes); return $validator; } /** * Create new validator instance. * * @param $translator * @param $data * @param $rules * @param $messages * @param $customAttributes * @return \Illuminate\Validation\Validator */ protected function createValidator($translator, $data, $rules, $messages, $customAttributes) { if (is_null($this->resolver)) { return new BaseValidator($translator, $data, $rules, $messages, $customAttributes); } return call_user_func($this->resolver, $translator, $data, $rules, $messages, $customAttributes); } /** * Closure used to trigger JsValidations. * * @return \Closure */ public function validatorClosure() { return function ($attribute, $value, $parameters, BaseValidator $validator) { $remoteValidator = new Validator($validator, $this->escape); $remoteValidator->validate($value, $parameters); return $attribute; }; } }
Upload File
Create Folder