/** * @dataProvider dataFilter */ function testFilter($val, $filter, $result = null, $default = false) { if (is_null($result)) { $result = $val; } $this->assertEquals($result, Filter::Value($val, $filter, $default)); }
/** Проверка по списку фильтров */ protected function validateFilters() { if (!empty($this->value) && !empty($this->filters)) { foreach ($this->filters as $filter) { if (is_array($this->value) && $this->isMultipleChoiceAllowed()) { $this->value = Filter::Arr($this->value, $filter, null); $bad = empty($this->value); } else { $bad = is_null(Filter::Value($this->value, $filter, null)); } if ($bad) { $this->addError(sprintf($this->tmpl_err_wrong, $this->getName())); return false; } } } return true; }
/** * Получить значение параметра * $filter - callable или regexp * $default - значение по-умолчанию, если значение не задано или не проходит фильтр */ public function getParameter($name, $filter = null, $default = false) { if (!$this->hasParameter($name) || is_array($this->parameters[$name])) { return $default; } $v = $this->parameters[$name]; return Filter::Value($v, $filter, $default); }