Aleksander Wilski

Aleksander Wilski co to was obchodzi

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

Jestem nowy w symfony.

Mam tabelę:
AUTHORS
id (Primary Key, autincrement)
name
surname


Chciałbym całkowicie sam zrobić formularz.

Man AddAuthorForm.class.php:

class AddAuthorForm extends sfForm
{
public function configure()
{
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'name' => new sfWidgetFormInput(),
'surname' => new sfWidgetFormInput(),
));
$this->setValidators(array(
'id' => new sfValidatorDoctrineChoice(array('model' => 'Authors', 'column' => 'id', 'required' => false)),
'name' => new sfValidatorString(array('max_length' => 20)),
'surname' => new sfValidatorString(array('max_length' => 30)),
));
$this->widgetSchema->setNameFormat('data[%s]'); }
}
co to was obchodzi co to was obchodzi edytował(a) ten post dnia 15.02.09 o godzinie 08:47
Aleksander Wilski

Aleksander Wilski co to was obchodzi

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

w pliku nowySuccess.php to standardowe wyświetlanie formularza + submit i po zatwierdzeniu przekierowanie na stronę 'nowy'.

action.class.php:

public function executeNew(sfWebRequest $request)
{
$this->form = new AddAuthorForm();
if ($request->isMethod('post'))
{
$this->form->bind($request->getParameter('data'));
if ($this->form->isValid())
{ $this->form->save();
$this->redirect('authors/index');
}
}
}


Myślę, że coś jest źle w tym miejscu: $this->form->save();
Bo jak przed nim przekierowanie na inną stronę to jestem przekierowywany, a po tym - tak jak teraz to nie jestem przekierowywany, dane nie są wstawiane do bazy danych, dlaczego ?co to was obchodzi co to was obchodzi edytował(a) ten post dnia 15.02.09 o godzinie 08:46
Adam W.

Adam W. senior php
developer, Symfony

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

co to Cie obchodzi?
Aleksander Wilski

Aleksander Wilski co to was obchodzi

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

Wpisałem wszędzie przy rejestracji 'co to was obchodzi', bo nie lubię jak na forum każą mi obowiązkowo podawać całe swoje cv ;] Pola typu: miasto, wykształcenie, imie, nazwisko itd. nie powinny być obowiązkowe. xD

Proszę pomóżcie - jednak chyba coś jest nie tak z zaprojektowanym przeze mnie formularzem 'AddAuthorForm' - uczę się symfony i nie wiem co jest nie tak :/co to was obchodzi co to was obchodzi edytował(a) ten post dnia 15.02.09 o godzinie 10:01
Adam W.

Adam W. senior php
developer, Symfony

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

cv nie jest obowiązkowe.
ale imię i nazwisko tak.
idź na forum symfony, tam można być anonimowym:)
Aleksander Wilski

Aleksander Wilski co to was obchodzi

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

Jeśli to w czymś pomoże to zmieniłem. Proszę o pomoc z tym niby banalnym formularzem :(

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

Jeżeli chcesz bezpośrednio połączyć formularz z modelem, klasa formularza powinna dziedziczyć przede wszystkim po sfFormDoctrine, nie sfForm (wpisz gdzieś na kopii aplikacji symfony doctrine:build-forms nazwa_app i zobacz jak taka klasa formularza powinna wyglądać i jakie dodatkowe metody powinieneś w niej zdefiniować)
Aleksander Wilski

Aleksander Wilski co to was obchodzi

Temat: chcialbym samodzielnie stworzyc formularz, ale mi nie...

A jakbym chciał nie bezpośrednio połączyć formularz z modelem to jak to zrobić, bo moze łatwiej ?

Bo dałem tak:

class AddAuthorForm extends sfFormDoctrine
{
public function configure()

{

$this->setWidgets(array(

'id' => new sfWidgetFormInputHidden(),

'name' => new sfWidgetFormInput(),

'surname' => new sfWidgetFormInput(),

));

$this->setValidators(array(

'id' => new sfValidatorDoctrineChoice(array('model' => 'Authors', 'column' => 'id', 'required' => false)),

'name' => new sfValidatorString(array('max_length' => 20)),

'surname' => new sfValidatorString(array('max_length' => 30)),

));

$this->widgetSchema->setNameFormat('data[%s]'); }

}


I teraz nie mam formularza a tylko białą stronę ;)Aleksander Wilski edytował(a) ten post dnia 15.02.09 o godzinie 13:32

Następna dyskusja:

upload pliku - lokalnie dzi...




Wyślij zaproszenie do