2013-12-11 42 views
0

即时尝试在提交表单之前打印警报报告。 的constroller检查实体是有效的,并告知结果:Flashdata未呈现在视图中

$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">&times;</button> 
    {{ app.session.get('status').message }} 
</div> 
{% endif %} 

但是Symfony的失败,下一个消息:

无法访问NULL变量(“”)上的属性(“alert”)

在探查的Flashdata是:

status : [{"alert":"alert-error","message":{}}] 

两个问题: 1)为什么 “消息” 为空?该实体有错误,$errors->get(0)应该得到第一个错误? 2)为什么不能从视图中访问$estado值?

有什么想法?

回答