Использование Zend_filter_input в автономном режиме - PullRequest
1 голос
/ 26 августа 2009

Можно ли использовать Zend_Filter_Input в качестве универсального входного фильтра? Я хочу использовать его для фильтрации всех полей формы (теги полосы и т. Д., Но без проверки). Кажется, что все примеры включают массив $ validators и предполагают, что я буду знать имена полей в пути.

Из-за характера проекта, сроков и т. Д. Невозможно переписать формы с помощью Zend_Form. Существует универсальный класс Form, который обрабатывает все формы ввода, поэтому мне нужно выполнить там фильтрацию.

Спасибо!

Люк.

1 Ответ

2 голосов
/ 26 августа 2009

Вы можете просто передать пустой массив для аргумента $validators, чтобы пропустить проверку и просто использовать фильтрацию.

Вы говорите, что не знаете имен полей, которые вы передадите в экземпляр Zend_Filter_Input? Вы можете использовать подстановочный знак *, чтобы применить фильтр ко всем полям ввода. Это то, что вы просите?

$input = new Zend_Filter_Input(array(
    '*' => 'StripTags'
), array(), $data);

отфильтрует все значения в $data с фильтром Zend_Filter_StripTags.

EDIT:

Получить значения с помощью

$escaped = $input->getEscaped(); // will be automatically run through an HTML-entities-filter
// or
$unescaped = $input->getUnescaped(); // the values as they come out of the filter-chain.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...