Mam następujący problem:
Chcę validować formularz w ten sposób że po kliknięciu na SUBMIT ma nastąpić Validacja i zapisanie z komunikatem dokładnie na tej stronie na której mam otwarty formularz w edycji .
Mam zrobione tak:
w akcji :
public function executeIndex(sfWebRequest $request) { $this->books = BookTable::getInstance()->findById(3); foreach ($this->books as $bok) { $this->bok[] = new BookFormCreator($bok); } if ($request->getMethod('POST')) { $bookList = BookTable::getInstance()->findOneById($request->getPostParameter('book[id]')); $this->form = new BookFormCreator($bookList); $this->form->bind($request->getParameter('book'), $request->getFiles('magazine')); if ($this->form->isValid()) { $bookList = $this->form->save(); $this->redirect('book/index'); } } }
natomiast w Widoku tak:
<?php foreach ($book as $b): ?> <form action="<?php echo url_for('book/index'); ?>" method="POST" enctype="multipart/data"> <table> <tr> <input type="hidden" name="book[id]" id="book_id" /> <td colspan="10"> <?php echo 'cos tam cos tam' ?><?php echo $m['name'] ?> </td> <td colspan="2"> </td> <td colspan="2"> <?php echo 'data3' ?><?php echo $b['data3'] ?> </td> <td colspan="2"> <?php echo 'data4' ?><?php echo $b['data4] ?><br /><br /> <?php echo $b['email'] ?> </td> <td colspan="2"> </td> <td colspan="2"> <input type="submit" value="Save" id="save" name="save"/> </td> </tr> </table> </form> <?php endforeach; ?>
Jak daję SAVE to dostaję informacje że żadne dane nie zostały przesłane ... po prostu tablica POST jest pusta .
Mogę prosić o podpowiedź co robiię nie tak ?
dzieki