Php 是否使所有表单验证错误显示在symfony的顶部?

Php 是否使所有表单验证错误显示在symfony的顶部?,php,mysql,forms,symfony1,propel,Php,Mysql,Forms,Symfony1,Propel,我想我可能在这里遗漏了一些应该比较常见的东西。如何使所有表单验证错误(包括字段绑定错误)显示在表单顶部(全局) 在模板顶部添加类似的内容: foreach($form->getWidgetSchema()->getPositions() as $widgetName) { echo $form[$widgetName]->renderError(); } 如果你像我一样是老派(在Symfony 1.1之前),试试看 请更正以下错误并重试: 提前 <ul>

我想我可能在这里遗漏了一些应该比较常见的东西。如何使所有表单验证错误(包括字段绑定错误)显示在表单顶部(全局)

在模板顶部添加类似的内容:

foreach($form->getWidgetSchema()->getPositions() as $widgetName)
{
  echo $form[$widgetName]->renderError();
}

如果你像我一样是老派(在Symfony 1.1之前),试试看


请更正以下错误并重试:

提前

<ul>
  <?php foreach($form->getWidgetSchema()->getPositions() as $widgetName): ?>
    <?php if($form[$widgetName]->hasError()): ?>
    <li><?php echo $form[$widgetName]->renderLabelName().': '.__($form[$widgetName]->getError()->getMessageFormat()); ?></li>
    <?php endif; ?>
  <?php endforeach;?>
</ul>

应该也适用于1.1+,我还没有测试过它,但我看不出它们没有理由不保持向后兼容性。谢谢你的回答,sjobe。不幸的是,在1.2中,无论出于什么原因,这都不起作用。
<ul>
  <?php foreach($form->getWidgetSchema()->getPositions() as $widgetName): ?>
    <?php if($form[$widgetName]->hasError()): ?>
    <li><?php echo $form[$widgetName]->renderLabelName().': '.__($form[$widgetName]->getError()->getMessageFormat()); ?></li>
    <?php endif; ?>
  <?php endforeach;?>
</ul>