function setFilter(Rule $rule) { $this->filtered = Check::filter($this->input, $rule, $this->errors); return !isset($this->errors) || !$this->errors->isExist(); }
/** * Выбор значения с применением правила * @param null|\boolive\core\values\Rule $rule * @param null $error * @return mixed */ function get($rule = null, &$error = null) { // Если не указано правило и значение уже отфильтровано, то повторно фильтровать не нужно if (!$rule && $this->_filtered) { return $this->getValue(); } // Если правило не указано, то берём по умолчанию if (!$rule) { $rule = $this->getRule(); } // Если правило определено if ($rule instanceof Rule) { return Check::filter($this->getValue(), $rule, $error); } $error = new Error(['Нет правила'], 'NO_RULE'); return null; }