このコードでフォームを作成しました:
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 %}