我正在处理一个控制器,它必须发送一个带有表单错误的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]这样的字符串很难作为数组键。
你怎么看?有什么想法吗?非常感谢, 问候