/** * Overwrite parent method to add new operators * * @param mixed $validatedValue * * @return bool */ public function validateAttribute($validatedValue) { if (is_object($validatedValue)) { return false; } /** * Condition attribute value */ $value = $this->getValueParsed(); /** * Comparison operator */ $op = $this->getOperatorForValidate(); // if operator requires array and it is not, or on opposite, return false if ($this->isArrayOperatorType() xor is_array($value)) { return false; } switch ($op) { case '><': case '<>': $explodedValue = explode('-', $value); $result = $validatedValue >= $explodedValue[0] && $validatedValue <= $explodedValue[1]; break; default: return parent::validateAttribute($validatedValue); break; } if ($op == '<>') { $result = !$result; } return $result; }