2013-12-11 43 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值?

有什麼想法?

回答