背景:我正在使用 Symfony Forms 和 Symfony Validation 组件在我的 Silex 应用程序的应用程序注册页面中呈现表单。
我让表单正常工作、呈现、客户端验证并将数据绑定到我的实体。我已向实体添加了一种验证方法,该方法可以正确验证实体并产生预期的错误。
问题:我现在想将错误从返回的 ConstraintValidationList 中取出并返回到表单中,以便使用 twig {{ form_errors }} 视图助手将它们显示在前端。
我在以下网址查阅了 API 文档:http ://api.symfony.com/2.0/Symfony/Component/Form/Form.html并且看不到执行此操作的正确方法。有谁知道如何实现我正在寻找的东西?
这是我的 Silex 控制器闭包中的代码:
$app->post('/register-handler', function(Request $request) use($app)
{
// Empty domain object
$user = new MppInt\Entity\User();
// Create the form, passing in a new form object and the empty domain object
$form = $app['form.factory']->create(new MppInt\Form\Type\RegisterType(), $user);
// Bind the request data to the form which puts it into the underlying domain object
$form->bindRequest($request);
// Validate the domain object using a set of validators.
// $violations is a ConstraintValidationList
$violations = $app['validator']->validate($user);
// Missing step - How do I get a ConstraintValidationList back into the
// form to render the errors in the twig template using the {{ form_errors() }}
// Helper.
});