2013-12-11 4 views
0

im try распечатать отчет о предупреждении перед формой отправки. 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 («»)

В профилировщике Flashdata является:

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

Два вопроса: 1) Почему "сообщение" является недействительным? у объекта есть ошибка, и $errors->get(0) должна быть первая ошибка? 2) Почему не удается получить доступ к значениям $estado из представления?.

Любые идеи?.

ответ

Смежные вопросы