j'ai essayé ça et me envoie vers une page d'erreur
voila je te donne tt le code pour voir :
_form.php

<form action="<?php echo
$form->isNew()?url_for('@nouscontacterCreate'):url_for('@nouscontacterEdit?id='$form->getObject()->
getId()); ?>">
<form action="<?php echo
url_for('nouscontacter/'.($form->getObject()->isNew() ? 'create' :
'').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() :
'')) ?>" method="post" <?php $form->isMultipart() and print
'enctype="multipart/form-data" ' ?>>
<?php if (!$form->getObject()->isNew()): ?>
<input type="hidden" name="sf_method" value="put" />
<?php endif; ?>
   <div class="form_error" color="red">
      <?php  echo $form['mail']->renderError() ?>
      <?php echo $form['nom']->renderError() ?>
      <?php echo $form['prenom']->renderError() ?>
      <?php echo $form['societe']->renderError() ?>
      <?php echo $form['fonction']->renderError() ?>
      <?php echo $form['adre']->renderError() ?>
      <?php echo $form['cp']->renderError() ?>
      <?php echo $form['ville']->renderError() ?>
      <?php echo $form['tel']->renderError() ?>
      <?php echo $form['mobile']->renderError() ?>
      <?php echo $form['msg']->renderError() ?>

   </div>
  <table class="noucontacter_fond" width="425px" height="510px" border="0">
    <tfoot>
      <tr height="8px">
        <td colspan="2">
        <center>
          <?php echo $form->renderHiddenFields() ?>
          <input type="reset" name="annuler" value=""
class="annuler">&nbsp;&nbsp;
          <input type="submit" name="valider" value="" class="envoyer">
          </center>
        </td>
      </tr>
    </tfoot>
    <tbody>
      <?php echo $form->renderGlobalErrors() ?>
      <tr>
        <td width="70px"><b><?php echo $form['nom']->renderLabel()
?>*</b></td>
        <td width="350px">
          <div class="contact_input_left"><img
src="/images/contact_input_left.png"></div>
         <div id="nous_contacter_nom">
          <?php echo $form['nom'] ?>


actions.class.php

class nouscontacterActions extends sfActions
{
  public function executeIndex(sfWebRequest $request)
  {
    $this->form = new NousContacterForm();


  }
  public function executeValidate(sfWebRequest $request)
  {

    $this->processForm($request, $this->form);
  }

 public function executeNew(sfWebRequest $request)
  {
    $this->form = new NousContacterForm();
  }

  public function executeCreate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod('post'));

    $this->form = new NousContacterForm();

    $this->processForm($request, $this->form);

    $this->setTemplate('new');
  }

  public function executeEdit(sfWebRequest $request)
  {
    $this->forward404Unless($nous_contacter =
NousContacterPeer::retrieveByPk($request->getParameter('id')),
sprintf('Object nous_contacter does not exist (%s).',
$request->getParameter('id')));
    $this->form = new NousContacterForm($nous_contacter);
  }

  public function executeUpdate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod('post') ||
$request->isMethod('put'));
    $this->forward404Unless($nous_contacter =
NousContacterPeer::retrieveByPk($request->getParameter('id')),
sprintf('Object nous_contacter does not exist (%s).',
$request->getParameter('id')));
    $this->form = new NousContacterForm($nous_contacter);

    $this->processForm($request, $this->form);

    $this->setTemplate('edit');
  }

  public function executeDelete(sfWebRequest $request)
  {
    $request->checkCSRFProtection();

    $this->forward404Unless($nous_contacter =
NousContacterPeer::retrieveByPk($request->getParameter('id')),
sprintf('Object nous_contacter does not exist (%s).',
$request->getParameter('id')));
    $nous_contacter->delete();

    $this->redirect('nouscontacter/index');
  }

  protected function processForm(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()),
$request->getFiles($form->getName()));
    if ($form->isValid())
    {


      $nous_contacter = $form->save();

      $this->redirect('@homepage');

    }
  }
}


et une partie du routing.yml

nouscontacter:
  url:   /nouscontacter.htm
  param: { module: nouscontacter, action: index }

il y a que ce routing pour nouscontacter
si je tape /nouscontacter ou /noucontacter.htm je suis sur la page index
juste la c bon, mais je veu pa qu'il m'affiche /nouscontacter/create quand
je tape un champs invalid

merci encore


Le 12 août 2009 10:21, jean-franc aubert <[email protected]> a
écrit :

> Fait plutôt un :
>
> <form action="<?php echo
> $form->isNew()?url_for('@nouscontacterCreate'):url_for('@nouscontacterEdit?id='$form->getObject()->getId());
> ?>">
>
> A priori, Symfony ne detecte pas la route où tu as définie la liaison
> [module: nous contacter / action : create], avec une url que j'imagine
> ressembler à /nouscontacter. Ça peut venir d'une erreur dans l'ordre de
> définition des routing dans le yml.
>
> J-F
>
> Le 12 août 2009 10:58, chakir ezziani <[email protected]> a écrit :
>
> bonjour,
>> merci pour ta reponse d'abord mais le probleme c ke j veu pa ke /create se
>> voi dans url
>> voici l'action du formulaire
>> <form action="<?php echo
>> url_for('nouscontacter/'.($form->getObject()->isNew() ? 'create' :
>> '').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() :
>> '')) ?>
>> quand j'affiche la page nouscontacter le formulaire s'affiche bien mais
>> quand il y a des erreurs de validation l'url devien nouscontacter/create
>> pour les erreurs de validation ils sont bien géré
>>
>>
>> Le 12 août 2009 09:02, jean-franc aubert <[email protected]> a
>> écrit :
>>
>> Bonjour,
>>>
>>> Le problème n'a pas l'air de venir du template mais du routing. Tu dois
>>> appeler ton lien avec un truc du genre link_to('blahblah',
>>> 'nouscontacter/create'), au lieu de link_to('blah blah', '@NomDuRouting').
>>> Ce qui fait qu'il trouve le module et l'action, et qu'il ne passe pas par
>>> ton routing qui doit être mal rédigé.
>>>
>>> Pour le problème des erreurs du formulaire, vérifie les validators
>>> définis.
>>>
>>> Bon courage,
>>>
>>> J-F
>>>
>>> Le 11 août 2009 20:16, shakir33 <[email protected]> a écrit :
>>>
>>>
>>>> salut tout le monde,
>>>>
>>>> je développe un site avec symfony 1.2, et j'ai un problem au niveau
>>>> d'un formulaire de contact
>>>> bon je vais vous expliquer exactement mon soucis, g crée le module
>>>> nouscontacter a base d'une table qui contient(nom, prenom,
>>>> sujet,msg......), j'affiche le formulaire a partir d'un partial _form
>>>> au niveau de la template indexSuccess. et le problem c qu'on il y a
>>>> des erreur au niveau du formulaire (email invalid...), il affiche tt
>>>> ce qu'il faut au niveau de la template mais au niveau de l'URL il
>>>> m'affiche nouscontacter/create or moi je veus qu'il affiche que
>>>> noucontacter
>>>> j'ai passé des heures et des heures ça, j'ai tt essayé (mettre les
>>>> actions create, new comme commentaire...) mais j'arrive pa
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à