0

このコードでフォームを作成しました:

 public function creerConferenceAction($id = null) {

    $message = '';
    if (isset($id)) {
        $conference = $this->getDoctrine()
                ->getRepository('gestionConferenceApplicationBundle:Conference')
                ->find($id);
        if (!$conference) {
            throw $this->createNotFoundException('No conference found for id ' . $id);
        }
    }else{
        $conference = new Conference();            
    }

        $form = $this->createFormBuilder($conference)
            ->add('titre', 'text')
            ->add('ville', 'text')
            ->add('lieu', 'text')
            ->add('date_debut', 'date', array(
                'widget' => 'single_text',
                'format' => 'yyyy-MM-dd',
                ))
             ->add('date_fin', 'date')
            ->add('nbMin', 'integer')
            ->add('nbMax', 'integer')
            ->add('dateLimiteInscription', 'date')
            ->getForm();


    $request = $this->getRequest();
    if ($request->isMethod('POST')) {
        $form->bind($request);
        if ($form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($conference);
            $em->flush();
            return $this->redirect($this->generateUrl('_acceuil'));
        }
    }

    return $this->render('gestionConferenceApplicationBundle:acceuil:creerConference.html.twig', array(
                'form' => $form->createView(), 
            ));
}

そして、この制約を追加したい: ユーザーはこれらのフィールドに 5 未満の値を入力することはできません:

->add('nbMin', 'integer')
        ->add('nbMax', 'integer')

私はこれをテストしました(参考書から取得しました):

 # src/gestionConference/ApplicationBundle/Resources/config/validation.yml
gestionConference\ApplicationBundle\Entity\Conference:
  properties:
    age:
      - Min: { limit: 18, message: You must be 18 or older to enter. }

しかし、それは何もしません

どうすればこれを達成できますか

前もって感謝します


-------------------編集-------------------編集---------------------- --------------------

参考文献をもう一度読んだところ、最新バージョンのsymfony 2.1.3でminオプションが削除されていることに気付きました

そして、私はそれを次のように置き換えました:

    # src/gestionConference/ApplicationBundle/Resources/config/validation.yml
gestionConference\ApplicationBundle\Entity\Conference:
  properties:
    nbmin:
      - Range:
          min: 120
          minMessage: You must be at least 120cm tall to enter

しかし変化なし

小枝のページは次のとおりです。

 {% extends "gestionConferenceApplicationBundle::layout.html.twig" %}
{% block content %}
<div id="welcome">
    <div class="content">

        <form action="" method="post" {{ form_enctype(form) }}>
                {{ form_errors(form) }}

                <table>
                    <tr>
                        <td>{{ form_label(form.titre, 'Titre : ') }}</td>                        
                        <td>{{ form_widget(form.titre) }}</td>
                        <td>{{ form_errors(form.titre) }}</td>
                    </tr>
                    <tr>
                        <td>{{ form_label(form.ville, 'Ville : ') }}</td>

                        <td>{{ form_widget(form.ville) }}</td>
                        <td>{{ form_errors(form.ville) }}</td>
                    </tr>
                    <tr>
                        <td>{{ form_label(form.lieu, 'Lieu : ') }}</td>

                        <td>{{ form_widget(form.lieu) }}</td>
                        <td>{{ form_errors(form.lieu) }}</td>
                    </tr>
                    <tr>
                        <td>{{ form_label(form.date_debut, 'Date de début : ') }}</td>

                        <td>{{ form_widget(form.date_debut) }}</td>
                        <td>{{ form_errors(form.date_debut) }}</td>
                    </tr>
                    <tr>
                        <td>{{ form_label(form.date_fin, 'Date de fin : ') }}</td>

                        <td>{{ form_widget(form.date_fin) }}</td>
                        <td>{{ form_errors(form.date_fin) }}</td>
                    </tr>
                    <tr>
                        <td>{{ form_label(form.nbMin, 'Nombre minimal de participants : ') }}</td>                        
                        <td>{{ form_widget(form.nbMin) }}</td>
                        <td>{{ form_errors(form.nbMin) }}</td>
                    </tr>
                   <tr>
                        <td>{{ form_label(form.nbMax, 'Nombre maximal de participants : ') }}</td>                        
                        <td>{{ form_widget(form.nbMax) }}</td>
                        <td>{{ form_errors(form.nbMax) }}</td>
                    </tr>

                    <tr>
                        <td>{{ form_label(form.dateLimiteInscription, 'Date limite d inscription : ') }}</td>                        
                        <td>{{ form_widget(form.dateLimiteInscription) }}</td>
                        <td>{{ form_errors(form.dateLimiteInscription) }}</td>
                    </tr>
                    {{ form_rest(form) }}
                    <tr>
                        <td align="center" colspan=3 >
                            <input type="submit" style="width: 80px;height: 30px;margin-right: 25px;" value="valider" />
                            <input type="reset" style="width: 80px;height: 30px;" value="initialiser" />
                        </td>                        
                    </tr>




                </table>
            </form>
        </div>

    </div>

{% endblock %}
4

0 に答える 0