mam i Zend Form który robi to:Zend Form Validator File Upload idzie nieważne
class Products_AddForm extends Zend_Form {
public function init() {
$ProductImage1 = $mainform->addElement('file', 'Productimage1', array(
'validators' => array(
array('Count', false, '1'),
array('Size', false, '10MB'),
array('Extension', false, 'jpg,jpeg,tif,eps'),
),
'required' => false,
'label' => 'Product Image1 (jpg/tif/eps)'
));
wówczas kontroler, który sprawdza dane postu:
public function addAction()
{
$form = $this->getAddForm();
if($this->getRequest()->isPost()){
$post = $this->getRequest()->getPost();
// check post data
if($form->isValid($post))
{
}
else {
print_r($form->getErrors());
print_r($form->getErrorMessages());
print_r($form->getMessages());
}
oraz niestandardowy widok kontrolera coś takiego :
echo '<form method="post" action="'.$this->baseUrl('products/add').'" enctype="multipart/form-data">';
$image1 = $form->getElement('Productimage1');
$helper1 = $image1->helper;
echo '<br/>'.$this->translate('Productimage').' (jpg/tif):<br/>'.$bild1->getView()->$helper1(
$image1->getName(),
$image1->getValue(),
$image1->getAttribs(),
$image1->options
);
Kiedy po prostu wpisuję niektóre informacje w polach tekstowych i publikuję je, $ form-> isValid() kończy się fałszem. Po usunięciu części plików z formularza i widoku niestandardowego działa idealnie.
Formelement jest na "wymaganym" fałszu. Ponadto fałszywa część kontrolera -> getErrors(), getMessages() i getErrorMessages() nie zwraca żadnych błędów ?!
Czy ktoś wie, co się tutaj dzieje?
Część kontroler nie ma żadnego wpływu , ponieważ $ form-> isValid() zwraca wartość false. Widok jest widokiem niestandardowym i nie można tego zrobić za pomocą 'echo $ this-> form'. – frgtv10