2
我有一個奇怪的問題,我的一個Zend_Forms:isValid()
正確地聲明我的表單無效,但我沒有收到任何錯誤消息。這怎麼會發生?Zend_Form無效,但沒有錯誤信息
繼承人的代碼,這裏沒什麼特別的。 $data
是發佈數據的數組。沒有文件發送時會出現問題。
$form = $this->getForm('Foto');
if(!$form->isValid($data)) {
var_dump($form->getErrors()); die;
return false;
}
getForm()
初始化表格,如果沒有完成。表單本身非常簡單。
class Media_Forms_Foto extends Zend_Form
{
/**
* Initializer function. Setup forms fields.
*/
public function init()
{
$this->setName('add Image');
$this->setAction('media/gallery/addImage');
$this->addElement('Hidden', 'gallery', array(
'filters' => array(),
'validators' => array('Digits'),
'required' => false,
'label' => '',
));
$this->addElement('File', 'foto', array(
'required' => true,
'destination' => ROOT_PATH .'public/upload/tmp/',
'label' => 'Foto',
'validators' => array(
new Zend_Validate_File_IsImage(array(
'image/jpeg', 'image/gif', 'image/png'
))
),
'maxFileSize' => 2097152,
));
$this->addElement('Submit', 'add', array(
'required' => false,
'ignore' => true,
'label' => 'add Foto',
));
$this->setAttrib('enctype', 'multipart/form-data');
}
}
輸出:
array(3) {
["gallery"]=>
array(0) {
}
["foto"]=>
array(0) {
}
["add"]=>
array(0) {
}
}
使用'getErrorMessages'輸出任何內容嗎? – Ashley
快速問題,您的$數據來自哪裏?你嘗試過輸出嗎?我通常這樣做: (來自控制器)$ this-> getRequest() - > getPost();爲了獲得發佈數據,我知道這是一個愚蠢的問題,但是你的zend_form看起來對我來說很直,所以我試圖尋找可能導致驗證不「工作」的其他問題。 – Chayemor