public function validateAttribute($validatedValue) { $op = $this->getOperatorForValidate(); $value = $this->getValueParsed(); if ($op == '{}' || $op == '!{}') { $result = false; if (is_array($validatedValue) && is_scalar($value)) { foreach ($validatedValue as $item) { if (stripos($item, $value) !== false) { $result = true; break; } } } if ($op == '!{}') { $result = !$result; } return $result; } return parent::validateAttribute($validatedValue); }
public function validateAttribute($validatedValue) { if (is_object($validatedValue)) { return false; } if (is_string($validatedValue)) { $validatedValue = strtoupper($validatedValue); } /** * Condition attribute value */ $value = $this->getValueParsed(); if (is_string($value)) { $value = strtoupper($value); } /** * 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; } $result = false; switch ($op) { case '{%': if (!is_scalar($validatedValue)) { return false; } else { $result = substr($validatedValue, 0, strlen($value)) == $value; } break; case '%}': if (!is_scalar($validatedValue)) { return false; } else { $result = substr($validatedValue, -strlen($value)) == $value; } break; default: return parent::validateAttribute($validatedValue); break; } return $result; }