Как проверить многомерный массив в Zend? - PullRequest
0 голосов
/ 20 января 2010

Мне интересно, каков наилучший способ проверки многомерного массива с использованием 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[] array (размещение массива с двумя / тремя именами).

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

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

1 Ответ

2 голосов
/ 20 января 2010

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

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

Так ....

$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'),
);

; -)

...