Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/07/2014, 15:24
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: mostrar error en un formulario

Tienes dos opciones

1) Puedes o pasarle por parametro un mensaje de error a tu plantilla o vista, por ejemplo en tu controller:

Código PHP:
Ver original
  1. $mensaje = "hola soy un lindo mensaje";
  2.  
  3.         return array(
  4.                 'mensaje' => $mensaje
  5.         );

Y en tu plantilla simplemente lo recuperas como

Código HTML:
Ver original
  1. {{ mensaje|default('') }}

Si tiene caracteres especiales o tildes, deberas agregar RAW

Código HTML:
Ver original
  1. {{ mensaje|raw|default('') }}

La funcion "|default('')" solo indica que si no esta definido, muestre lo que seteamos entre los parentesis

2) Mediante un mensaje temporal, que es la que mas se recomienda, al recargar la pagina este se elimina, en tu controller:

Código PHP:
Ver original
  1. $this->get('session')->getFlashBag()->add(
  2.                                            'notice',
  3.                                            array(
  4.                                                 "type" => "error",
  5.                                                 "mensaje" => "hola soy otro mensaje pero esta vez voy en la sesion"
  6.                                                 )
  7.                                     );

Y en tu vista o plantilla puedes recuperarlo asi


Código HTML:
Ver original
  1. <div class="msgbox {{ flashMessage["type"] }}">
  2.     <ul>
  3.         <li>{{ flashMessage["mensaje"]|raw }}</li>
  4.     </ul>
  5. </div>

Fijate que le estoy pasando un array, donde le indico el "type" esto es para que tome algun estilo de CSS que tengas definido y el mensaje que es el que muestra.

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)