我将$错误传递给Twig,由此产生:
$insert = new MyEntity();
$insert->setTest1( 'testtesttest' );
$validator = $this->get('validator');
$errors = $validator->validate($insert);
...我如何获得特定的错误值,如果有效的话会是这样的?
{{ errors('field1') }}
...应该只返回错误信息,例如“这不是有效的电子邮件地址”等。
我知道我可以通过循环来获取所有这些:
{% for err in errors %}
{{ err.label }}: {{ err.value }}<br />
{% endfor %}
...但我只想要一个特定的
答案 0 :(得分:1)
您无法直接访问验证错误对象数组的字段名称。你必须通过循环搜索它。
{% for error in errors %}
{% if error.propertyPath = 'fieldname' %}
{{ error.propertyPath }}: {{ error.message }}
{% endif %}
{% endfor %}
但也许你最好只使用......
$errors = $validator->validateProperty($insert, 'fieldname);
...在你的控制器中,只是将一个属性的错误列表传递给你的模板。