konto usunięte

Temat: [Zend] Przekazanie wartości do konstruktora

Witam,
mam dziwny problem, próbuję przekazać coś do swojego walidatora jako parametr ale nie idzie to ...
Chcę wywołać w kontrolerze mój formularz z odpowiednim parametrem,
a później wywołując w nim walidator przekazać mu tą samą zmienną.
Tworzę sobie obiekt mojego formularza z parametrem w kontrolerze i niby wszystko jest OK, ale zmienna w walidatorze równa jest NULL.
Jak Wy coś takiego przekazujecie ?
Wiem, że do konstruktora form muszę podać tablicę 'options', ale nie wiem jak później do niej się dostaćŁukasz Winiarski edytował(a) ten post dnia 18.12.10 o godzinie 01:49
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: [Zend] Przekazanie wartości do konstruktora

a nie mozesz poprostu zrobic obiekt ktory dziedziczy po Zend_Form i miec w nim co tam chcesz?

konto usunięte

Temat: [Zend] Przekazanie wartości do konstruktora

Pokaż kod - będzie łatwiej.
Wojciech Soczyński

Wojciech Soczyński Programista
eksplorator -
blog.wsoczynski.pl

Temat: [Zend] Przekazanie wartości do konstruktora

Łukasz Winiarski:
Witam,
mam dziwny problem, próbuję przekazać coś do swojego walidatora jako parametr ale nie idzie to ...
Chcę wywołać w kontrolerze mój formularz z odpowiednim parametrem,
a później wywołując w nim walidator przekazać mu tą samą zmienną.
Tworzę sobie obiekt mojego formularza z parametrem w kontrolerze i niby wszystko jest OK, ale zmienna w walidatorze równa jest NULL.
Jak Wy coś takiego przekazujecie ?
Wiem, że do konstruktora form muszę podać tablicę 'options', ale nie wiem jak później do niej się dostaćŁukasz Winiarski edytował(a) ten post dnia 18.12.10 o godzinie 01:49
To działa tak, że jeżeli rozszerzasz powiedzmy Zend_Form to żeby twoja nowa opcja została ustawiona musisz sobie napisać metodę o nazwie "setMojaZmienna($wartosc)" gdzie "mojaZmienna" jest nazwą parametru, który chcesz ustawić w klasie.

konto usunięte

Temat: [Zend] Przekazanie wartości do konstruktora

Wojciech Soczyński:
To działa tak, że jeżeli rozszerzasz powiedzmy Zend_Form to żeby twoja nowa opcja została ustawiona musisz sobie napisać metodę o nazwie "setMojaZmienna($wartosc)" gdzie "mojaZmienna" jest nazwą parametru, który chcesz ustawić w klasie.

Dokładnie mam tak zrobione, rozszerzam sobie Zend_Form i tam do niego potrzebuję przekazać zmienną, którą później podam gdy dodaję walidator do jednego pola.
w kontrolerze daję:

$form = new administracja_Form_Edytuj();
$form->setX($id); // zm. $id na pewno istnieje i ma wartość ;)

a w formularzu dodałem metodę:
private $X;
public function setX($wartosc) { $this->X = $wartosc; } próbowałem też po prostu public function setX($wartosc) {}

dodając walidator próbuję wywołać go z parametrem $this->X
no ale to mi daje NULL, bo taką wartość ma ta zmienna,
nie idzie coś przekazanie zmiennej do administracja_Form_Edytuj()

konto usunięte

Temat: [Zend] Przekazanie wartości do konstruktora

Niby w Zend_Form jest metoda __set, więc chyba nie wypada jej nadpisywać.
robię tak w kontrolerze
$form->__set("ajdi", $id);

później próbuję to złapać w formularzu przez
__get("ajdi")

no i mam:
Exception information:
Message: Only form elements and groups may be overloaded; variable of type "string" provided

konto usunięte

Temat: [Zend] Przekazanie wartości do konstruktora

Strzał w ciemno: "Zend_Form only overloads to elements, sub forms, and display groups. To
set attributes, use setAttrib() and setAttribs(): "Mateusz Jaworski edytował(a) ten post dnia 19.12.10 o godzinie 09:53



Wyślij zaproszenie do