przewiń do treści

Zend Framework od podstaw

Włodzimierz Gajda

<?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

listing-32-06.txt