LazyRecord\CollectionFilter\CollectionFilter::validateValue PHP Method

validateValue() public method

public validateValue ( $validValues, &$val )
    public function validateValue($validValues, &$val)
    {
        if (is_array($validValues)) {
            if (isset($validValues[0])) {
                return in_array($val, $validValues);
            } else {
                $values = array_values($validValues);
                return in_array($val, $values);
            }
        } elseif ($validValues instanceof Closure) {
            $validValues->bindTo($this);
            return $validValues($val);
        } else {
            switch ($validValues) {
                case self::Integer:
                    if (is_int($val)) {
                        return true;
                    }
                    if (is_numeric($val)) {
                        $val = intval($val);
                        return true;
                    }
                    return false;
                case self::String:
                    return is_string($val);
                case self::Boolean:
                    if (is_bool($val)) {
                        return true;
                    }
                    if ($val == '0' || $val == '1' || $val == 'true' || $val == 'false') {
                        $val = boolval($val);
                        return true;
                    }
                    return false;
                case self::Float:
                    if (is_float($val)) {
                        return true;
                    }
                    // we should validate float format
                    if (is_numeric($val)) {
                        $val = floatval($val);
                        return true;
                    }
                    return false;
                default:
                    return true;
            }
        }
        return true;
    }