Zend boyutlu dizi doğrulamak nasıl?

1 Cevap php

I Zend_FilterInput ile Zend_Validate kullanarak çok boyutlu dizi doğrulamak için en iyi yolu nedir merak ediyorum.

İşte benim geçerli kod:

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

Ben örnek name[] dizisi (iki / üç isimlerini içeren bir dizi gönderme) için, burada bir dizi eklemek istiyorum.

İşte bir örnek $_POST dizidir:

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

1 Cevap

Tamam, ben dize için aynı yönteme sahip bir dizi için bunu yapması gerektiğini bulundu.

Zend_Filter_Input kontroller değer bir dizidir ve foreach, her kendi elemanını doğrulama ile yapar. Eğer

Yani ....

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

;-)