j'ai quelques difficultés à comprendre pourquoi mon formulaire de symfony ne se lie pas correctement avec les données de demande ...forme symfony contraignant question: tableau vide
L'action:
public function executeSendEmail(sfWebRequest $request)
{
$history_id = $request->getParameter('id');
if($request->isMethod(sfRequest::POST))
{
print_r("POST");
$this->form = new SendEmailForm();
$this->form->bind($request->getParameter('email_form'));
print_r($request->getParameter('email_form'));
if(!$this->form->isBound())
die('!isBound()');
print_r($this->form->getValues());
if($this->form->isValid())
{
die('form is Valid!');
}
die('after isValid...');
}
die('redirect !');
$this->redirect('history/show?id='.$history_id);
}
classe Forme:
class SendEmailForm extends sfForm
{
public function setup()
{
$this->setWidgets(array(
'author' => new sfWidgetFormInputText(),
'email' => new sfWidgetFormInputText(),
'subject' => new sfWidgetFormInputText(),
'body' => new sfWidgetFormTextarea(),
));
$this->setValidator('email', new sfValidatorEmail());
$this->widgetSchema->setLabels(array(
'author' => 'Autor',
'email' => 'E-mail',
'subject' => 'Tytuł',
'body' => 'Treść wiadomości'
));
$this->widgetSchema->setNameFormat('email_form[%s]');
$this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
parent::setup();
}
}
Lors de la saisie de l'action du $request->getParameter('email_form')
contient:
Array (
[author] => RRr
[email] => [email protected]
[subject] => rrrr
[body] => rrrr
[_csrf_token] => 73881c1b6217e221c4d25c065ec93052)
alors cela semble correct mais néanmoins la liaison échoue car $this->form->getValues()
retourne array() vide et je ne sais pas pourquoi; s? Des suggestions? Thx à l'avance