public function validate() { $res = $this->isSubmitted() && parent::validate(); if ($res) { $rules = []; $names = []; if ($this->validator_rules) { foreach ($this->validator_rules as $f => $element_rules) { $name = LaraForm::getNameFromDot($f); $elements = $this->getElementsByName($name); if (count($elements)) { $rules[$f] = $element_rules; $names[$f] = '"' . Arr::get($elements, 0)->getLabel() . '"'; } } $validator = \Validator::make($this->getValue(), $rules, $this->validator_messages, $names); if ($validator->fails()) { $errors = []; foreach ($validator->errors()->toArray() as $k => $v) { Arr::set($errors, $k, Arr::get($v, 0)); } //dd($validator->errors()->toArray(), $errors); $this->setErrors($errors); $res = false; } } } return $res; }