2013-02-05 47 views
0

我正在嘗試向我的文件元素驗證程序添加自定義錯誤消息。它適用於所有元素,但是文件。請指出我哪裏錯了。我知道過類似的問題,但我想知道這個代碼有什麼問題?文件元素的自定義錯誤消息

$file= new Zend_Form_Element_File('albumcover'); 
    $file->setAttrib('size',35) 
    ->removeDecorator('label') 
    ->removeDecorator('htmlTag'); 

    $file->setRequired(true) 
    ->addValidator('Size',true,'1MB')   
    ->addValidator('Count',true,1) 
    ->addValidator('IsImage',true,'jpg,jpeg,png'); 
    $file->addErrorMessage("Upload 'jpg,jpeg or png' file of less than 1MB in size"); 

它顯示預定義的錯誤,不是說我已經設置

回答

0

您可能要爲此在控制器檢查,如果該元素有錯誤並打印特定錯誤消息的錯誤消息。

$form = My_Form_File(); 
... 
if ($form->isValid()) { 
... 
} else { 
    if ($form->getElement('albumcover')->hasErrors()) { 
     $form->getElement('albumcover')->addError("Upload 'jpg,jpeg or png' file of less than 1MB in size"); 
    } 
} 

雖然我會建議讓用戶知道在描述與

$file->setDescription("Upload 'jpg,jpeg or png' file of less than 1MB in size"); 
+0

但是,這也與自定義一個沿顯示默認的錯誤 – Aashish