我尝试在提交表单之前打印警报报告。 委托人检查该实体是否有效并通知结果:
$estado = Array();
if(count($errors) > 0){
$estado['alert'] = 'alert-error';
$estado['message'] = $errors->get(0);
}else{
$estado['alert'] = 'alert-success';
$estado['message'] = "Usuario creado correctamente";
}
$this->getRequest()->getSession()->getFlashBag()->add('status',$estado);
return $this->redirect($this->generateUrl('alta_usuario'));
所以,在视图中:
{% if app.session.flashbag.has('status') %}
<div class="alert {{ app.session.get('status').alert }}">
<button type="button" class="close" data-dismiss="alert">×</button>
{{ app.session.get('status').message }}
</div>
{% endif %}
但Symfony在下一条消息中失败了:
无法访问NULL变量(“”)
上的属性(“警报”)
在分析器中,Flashdata是:
status : [{"alert":"alert-error","message":{}}]
两个问题:
1)为什么“消息”为空?实体有错误,$errors->get(0)
应该得到第一个错误?
2)为什么无法从视图中访问$estado
值?。
任何想法?。
答案 0 :(得分:0)
这个问题与下面的链接非常相似。 你可以在这里找到答案 Am I using the Symfony flash variables the wrong way?