gpt4 book ai didi

symfony - 文件上传中的错误消息自定义

转载 作者:行者123 更新时间:2023-12-01 02:03:12 26 4
gpt4 key购买 nike

使用指南 http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html我正在尝试自定义错误消息,但我有一个问题:变量 errors未定义,因为我们不验证实体并且我们不调用 $this->get('validator')->validate($entity) .

{% block field_errors %}
{% spaceless %}
{# errors is undefined here #}
{% endspaceless %}
{% endblock field_errors %}

这是示例代码:
public function uploadAction()
{
$document = new Document();
$form = $this->createFormBuilder($document)
->add('name')
->add('file')
->getForm()
;

if ($this->getRequest()->getMethod() === 'POST') {
$form->bindRequest($this->getRequest());
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();

$em->persist($document);
$em->flush();

$this->redirect($this->generateUrl('...'));
}
}

// Variable 'errors' is not assigned
return array('form' => $form->createView());
}

最佳答案

不确定我是否理解。如果您遵循示例,则 $document 上有验证规则,将由 $form->isValid() 进行测试。 {{ form_errors(form) }} 应该输出任何错误。

如果它只是一个模板自定义问题,那么您需要在尝试处理它们之前测试是否存在错误:

{% block field_errors %}
{% spaceless %}
{% if errors|length > 0 %}
<span style="color:red">
{% for error in errors %}
{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}<br />
{% endfor %}
{% endif %}
{% endspaceless %}
{% endblock field_errors %}

关于symfony - 文件上传中的错误消息自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9895115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com