Как проверить многомерный массив в Zend?

Мне интересно, как лучше всего проверить многомерный массив, используя Zend_Validate с Zend_FilterInput.

Вот мой текущий код:

$filters = array(
    'symbol'        => array('StripTags', 'StringTrim'),
    'mode'          => array('StripTags', 'StringTrim'),
);
$validators = array(
    'symbol'        => array('NotEmpty'),
    'mode'          => array('NotEmpty'),
);


$input = new Zend_Filter_Input($filters, $validators, $_POST);

Я хотел бы добавить сюда массив, например массив name[] (размещение массива с двумя/тремя именами).

Вот пример массива $_POST:

array(
    'symbol' => 'SD34G',
    'mode'   => 'back',
    'name'   => array(
                       0 => 'Name A',
                       1 => 'Name B',
                       2 => 'Name C'
                )
)

person hsz    schedule 20.01.2010    source источник


Ответы (1)


Хорошо, я обнаружил, что должен сделать это для массива тем же методом, что и для строки.

Zend_Filter_Input проверяет, является ли значение массивом, и выполняет foreach проверку каждого его элемента.

So....

$filters = array(
    'symbol'        => array('StripTags', 'StringTrim'),
    'mode'          => array('StripTags', 'StringTrim'),
    'name'          => array('StripTags', 'StringTrim'),
);
$validators = array(
    'symbol'        => array('NotEmpty'),
    'mode'          => array('NotEmpty'),
    'name'          => array('NotEmpty'),
);

;-)

person hsz    schedule 20.01.2010