/** * Make Laravel Validations compatible with JQuery Validation Plugin. * * @param $attribute * @param $rules * @param $includeRemote * * @return array */ protected function jsConvertRules($attribute, $rules, $includeRemote) { $jsRules = []; foreach ($rules as $rawRule) { list($rule, $parameters) = $this->validator->parseRule($rawRule); list($jsAttribute, $jsRule, $jsParams) = $this->rules->getRule($attribute, $rule, $parameters); if ($this->isValidatable($jsRule, $includeRemote)) { $jsRules[$jsAttribute][$jsRule][] = array($rule, $jsParams, $this->messages->getMessage($attribute, $rule, $parameters), $this->validator->isImplicit($rule)); } } return $jsRules; }
/** * Validate Conditional Validations using Ajax in specified fields. * * @param string $attribute * @param string|array $rules */ public function sometimes($attribute, $rules = []) { $callback = function () { return true; }; $this->validator->sometimes($attribute, $rules, $callback); $this->rules->addConditionalRules($attribute, (array) $rules); }