的Zend Zend_Filter_Input的執行驗證遞歸,所以代碼:如何驗證值是否是使用Zend_Filter_Input的數組?
$data = array(
'update' => array(1, 2, 3)
);
$validators = array(
'update' => array(
new Zend_Validate_Callback('is_array'),
'presence' => 'required'
)
);
$filter = new Zend_Filter_Input(array(), $validators, $data);
var_dump($filter->isValid());
var_dump($filter->getMessages());
返回false
和一個1,2和3是無效的值的消息。
任何方式來驗證如果一個值是數組,沒有遞歸規則應用?
不想使用'$ data = array( 'update'=> array(array(1,2,3)) );'? –
@ b.b3rn4rd:不會;-) – zerkms
您是否找到解決方案?我查看過'Zend_Filter_Input'源代碼,在:1011它使得字段值是一個數組,如果它不是,並且它的foreach:1024。所以我猜測唯一的解決方案是擴展'Zend_Filter_Input',或者按照以前建議的方式將值包裝在數組中? –