我在Symfony 2.1中有一个简单的表单,当我提交它时,我希望看到我的表单页面上显示一些错误消息,因为我根据需要表示了一些字段.
但是,{{ form_errors(form.company_name) }}显示该特定字段的错误消息的方法对我不起作用.它从不显示消息.但是,如果我使用{{form_errors(form)}},则所有错误消息都显示在一个位置.我需要个性化的{{form_errors(form.company_name)}}方式来实现它.有没有人经历过这个?可能有什么不对?这是我的枝条代码:
<form method="post" {{ form_enctype(form) }} novalidate>
<table>
<tr>
<td class="field-cell">{{ form_label(form.promo_referral) }}: </td>
<td>{{ form_errors(form.promo_referral) }}{{ form_widget(form.promo_referral) }}</td>
</tr>
<tr>
<td class="field-cell">{{ form_label(form.company_name) }}: </td>
<td>{{ form_errors(form.company_name) }}{{ form_widget(form.company_name) }}</td>
</tr>
...
Run Code Online (Sandbox Code Playgroud)
这是我的相关控制器代码:
$registration = new ServiceVendorRegistration();
$form = $this->createForm(new ServiceRegisterForm(), $registration);
if ($request->isMethod("POST"))
{
$form->bind($request);
if ($form->isValid())
{
// do something else
}
}
return $this->render('MyBundle:Default:register_service_vendor.html.twig', array('form' => $form->createView()));
Run Code Online (Sandbox Code Playgroud)
Validation.yml使该字段需要如下:
properties:
companyName:
- NotBlank:
message: You have to fill this
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我得到了解决方案.当我使用下划线命名我的表单字段来分隔单词时,Symfony不喜欢它,例如first_name.它依赖于camelCase命名约定.当我相应地重命名我的表单字段时,它开始正常工作.
| 归档时间: |
|
| 查看次数: |
2251 次 |
| 最近记录: |