<?php class Application_Form_Kontynent extends Zend_Form { public function init() { $this->addElement('text', 'nazwa', array( 'label' => 'Kontynent:' )); $this->addElement('submit', 'submit', array('label' => 'Zapisz')); } public function dodajKontrolkePanstwa($obj = null) { $Panstwo = new Application_Model_DbTable_Panstwo(); if ($obj === null) { $pozycje_listy = $Panstwo->fetchPairs(); } else { $pozycje_listy = $obj->obcePanstwaFetchPairs(); } $kontrolka = new Zend_Form_Element_MultiCheckbox('panstwa', array( 'label' => 'Dodaj nowe państwa:', 'multiOptions' => $pozycje_listy, 'validators' => array( 'Int', array( 'Db_RecordExists', true, array('table' => 'panstwo', 'field' => 'panstwo_id') ), ) )); $kontrolka->setOrder(1); $this->addElement($kontrolka); $this->panstwa->getValidator('Db_RecordExists')->setMessages(array( Zend_Validate_Db_RecordExists::ERROR_NO_RECORD_FOUND => "Brak rekordu!", )); } }
Listing 32.6. Formularz do edycji rekordów z tabeli kontynent
Rozdział 32. Edycja zależności relacyjnych