Symfony3:从控制器获取表单字段HTML名称属性

时间:2017-01-10 17:30:24

标签: ajax forms validation error-handling symfony

我正在处理一个控制器,它必须发送一个带有表单错误的JSON编码数组,以便在Ajax请求之后用jQuery在表单的每个字段下显示它们。

为此,我需要能够检索每个字段的HTML名称属性(或id),以便在DOM中找到它们。

这是我到目前为止所做的:

$errors = $this->get('validator')->validate($form);
$errorsArray = [];
foreach ($errors as $error) {
    $field = str_replace('data.', '', $error->getPropertyPath());
    $message = $error->getMessage();

    $errorsArray[$field][] = $message;
}

虽然,这会返回实例username的{​​{1}},但在树枝中会生成User。更糟糕的是,对于嵌套表单(具有一对一的关系),我得到的内容如user[username]

有没有办法检索Twig中表单给出的name属性,以便格式化一个看起来像的正确JSON:

user[group][id]

因为在普通数组中,像user [username]这样的字符串很难作为数组键。

你怎么看?有什么想法吗?

非常感谢, 问候

0 个答案:

没有答案