Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] sfValidatorChoice i konwertowanie na String
filip11
post 17.04.2011, 18:39:25
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.03.2010

Ostrzeżenie: (0%)
-----


Witam,

otóż tworzę pole formularza i dodaje do niego walidator:

  1. $widget->setLabel('Odbiorcy');
  2. $this->setWidget('receivers', $widget);
  3.  
  4. $validator = new sfValidatorChoice(array('choices'=>array_keys($choices),'multiple' => true), array());
  5. $this->setValidator('receivers', $validator);
  6.  


$choices to tablica asocjacyjna. Ładnie mi się wyświetla to pole, ale kiedy próbuję przesłać formularz dostaję:

  1. Catchable fatal error: Object of class sfValidatorChoice could not be converted to string in [ciach!] on line 34


Szukałem, ale nigdzie nie znalazłem podobnego do tego błędu, czy ktoś ma jakiś pomysł? Z góry dziękuję
Go to the top of the page
+Quote Post
jaro87
post 18.04.2011, 06:56:00
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 7
Dołączył: 10.03.2011
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Rozumiem, że [ciach!] to plik formularza który zacytowałeś wyżej a linia 34 to jedna z tych 4 linii kodu?
Go to the top of the page
+Quote Post
filip11
post 18.04.2011, 07:54:49
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.03.2010

Ostrzeżenie: (0%)
-----


Tak zgadza się, przepraszam, jeśli nie jasno napisałem...
Go to the top of the page
+Quote Post
Gribo
post 18.04.2011, 23:12:32
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 17
Dołączył: 1.11.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


jak mamy ci pomóc skoro nie wiemy jak wygląda zmienna $choices ? Poza tym prawdopodobnie to jest wina tego że $choices jest indeksowane jakimś stringiem a nie integerem


--------------------
Wyszukiwarka noclegów w Polsce i zagranicą.
Najlepszy katalog turystyczny wspomagający pozycjonowanie i promocje stron.
Go to the top of the page
+Quote Post
filip11
post 19.04.2011, 07:53:44
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.03.2010

Ostrzeżenie: (0%)
-----


Cytat(Gribo @ 19.04.2011, 00:12:32 ) *
jak mamy ci pomóc skoro nie wiemy jak wygląda zmienna $choices ? Poza tym prawdopodobnie to jest wina tego że $choices jest indeksowane jakimś stringiem a nie integerem


Zgadza się, jest indeksowana Stringiem, to znaczy, że nie da rady tak zrobić tak? Widzisz i pomogłeś (tak mi się zdawało) bez znajomości tej zmiennej wink.gif zmienną $choice konstruuję tą funkcją:
  1. public function prepareMailingList()
  2. {
  3. $usersProfiles = Doctrine_Core::getTable('UsersProfiles')->createQuery()->execute();
  4. $mailingList = array();
  5. foreach($usersProfiles as $user)
  6. {
  7. $mailingList[$user->getUsers()->getEmail()] = $user->getUsers()->getLogin().': '.$user->getName().' '.$user->getLastName();
  8. }
  9. return $mailingList;
  10. }


Aczkolwiek oczywiście teraz będę musiał to zmienić jeśli nie da rady indeksować stringami smile.gif teraz funkcja, która wkłada indeksy do tablicy zwraca inty, ale i tak jest ten sam problem...

Ten post edytował filip11 19.04.2011, 10:45:08
Go to the top of the page
+Quote Post
jaro87
post 19.04.2011, 11:29:28
Post #6





Grupa: Zarejestrowani
Postów: 53
Pomógł: 7
Dołączył: 10.03.2011
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


A niby dlaczego nie może być indeksowany stringiem? Co, że niby string gorszy? ;p

To raczej nie chodzi o to. Pokaż więcej kodu: Akcje w której robisz coś z tym formularzem na przykład. Która to ta 34 linia dokładnie? Nie próbujesz w tym formularzu przypadkiem zrobić echo $validator? ;p

Ten post edytował jaro87 19.04.2011, 11:33:22
Go to the top of the page
+Quote Post
filip11
post 19.04.2011, 13:00:12
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.03.2010

Ostrzeżenie: (0%)
-----


O w morde... Ale wstyd, tak robiłem coś w stylu echo $validator... A dokładniej:
  1. echo $this->mailForm->getValidator('receivers');



dzięki wielkie! Pozdrawiam! smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2024 - 18:57