Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony]Zmienna liczba formularzy wbudowanych
SnakeEater
post 29.04.2010, 17:45:42
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 12.03.2010

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


Witam,
Czy ktoś mógłby mi powiedzieć jak przeprowadzić walidację formularza w przypadku, gdy nie jest znana liczba jego pól? Jest to właściwie nieznana ilość takich formularzy wbudowanych z jednym polem.
  1. public function configure()
  2. {
  3. if (!$question = $this->getOption('question'))
  4. {
  5. throw new InvalidArgumentException('You must provide a question object');
  6. }
  7. if($question->isNew())
  8. {
  9. for ($i = 0; $i < $this->getOption('size', 3); $i++)
  10. {
  11. $answerOption = new AnswerOption();
  12. $answerOption->Question = $question;
  13. $answerOptionForm = new AnswerOptionForm($answerOption, array('required' => false));
  14. $this->embedForm('answer'.$i, $answerOptionForm);
  15. $this->widgetSchema->setLabel('answer'.$i, ($i+1).' ');
  16. }
  17. $this->mergePostValidator( new AnswerOptionsCountValidatorSchema());
  18. }

Jak widać ilość formularzy jest tutaj na sztywno ustawiona 3. Jeżeli będzie 4 to już nie wyświetli błąd. Jak zrobić, żeby było tyle pól ile w requescie? Potrzebuję tego do poprawnej walidacji oraz ewentualnie - w przypadku nie przejścia walidacji ponownego wyświetlenia formularza. Jeżeli zrobię getAnswerOptions w configure to zwracany obiekt nie zawiera odpowiedzi, więc nie wiem ile ich przesłano. Jak zatem to zrobić? Czy odczytywanie z requesta i zliczanie odpowiedzi, a następnie zrobienie takiej ilości subformularzy to jedyne wyjście? Kiedy tworzone są obiekty na podstawie requestu?
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: 2.07.2025 - 07:19