obtener getError reducido

17 views
Skip to first unread message

willi@ms

unread,
Sep 2, 2010, 3:20:57 PM9/2/10
to symfo...@googlegroups.com
Hola estoy trabajando con unos formularios y siguiendo el tutorial de formularios existenten en librosweb.es el problema que tengo es con una linea de codigo similar a esto

<?php if ($formulario['email']->hasError()): ?>
  <ul class="error_list">
    <?php foreach ($formulario['email']->getError() as $error): ?>
      <li><?php echo $error ?></li>
    <?php endforeach; ?>
  </ul>
<?php endif; ?>

y efectivamente me muestra el error pero no solo el que yo coloque al respecto del campo required si no un detalle muy extenso en el cual aparece un listado de todos los archivos y la verdad no se como hacer para que me aparezca uno similar a renderError() pero sin el estilo de lista.

saludos williams

Julian Reyes Escrigas

unread,
Sep 2, 2010, 11:00:56 PM9/2/10
to symfo...@googlegroups.com
El 02/09/10 14:20, willi@ms escribió:
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.
si no me equivoco basta con colocar la linea
$form['campo']->renderError()

sin ninguna validacion y cuando el formulario tiene error te muestra el error dque colocaste en el validador

willi@ms

unread,
Sep 2, 2010, 11:24:31 PM9/2/10
to symfo...@googlegroups.com
efectivamente renderError() me devuelve el error pero con un formato similar a:

<ul>
   <li>......</li>
</ul>

pero yo solo quiero obtener la cadena de error entre <li>  </li> para aplicarle algunos css y demas que tengo ya que con renderError() no queda muy bien visto y la verdad no se como hacerlo.

saludos williams

Julian Reyes Escrigas

unread,
Sep 3, 2010, 2:56:24 AM9/3/10
to symfo...@googlegroups.com
pues lo unico que podrias hacer es tomar el array de errores como venias haciento
<?php if ($formulario['email']->hasError()): ?>
  <ul class="error_list"
>
    <?php foreach ($formulario['email']->getError() as $key => $error): ?>
      <li><?php echo $error ?></li>
    <?php endforeach; ?>
  </ul>
<?php endif; 
?>

agregale $key y puedes observar las posiciones del array que quieres mostrar y asi personalizarlo como tu desees



willi@ms

unread,
Sep 3, 2010, 8:31:42 PM9/3/10
to symfo...@googlegroups.com

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.

No funciona al ejecutar el siguiente codigo:

<?php foreach($loginForm['cuenta']->getError() as $key => $error): ?>
          <?php echo "[".$key."] [".$error."]" ?>
<?php endforeach; ?>

obtengo lo siguiente:

[xdebug_message] [ sfValidatorError: Ingrese su cuenta de Usuario in /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/validator/sfValidatorBase.class.php on line 321 Call Stack: 0.0001 325552 1. {main}() /home/geeko/www/sf/almacenes/web/index.php:0 0.0283 1329228 2. sfContext->dispatch() /home/geeko/www/sf/almacenes/web/index.php:7 0.0284 1329256 3. sfFrontWebController->dispatch() /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/util/sfContext.class.php:170 0.0285 1329372 4. sfController->forward() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:2344 0.0316 1358092 5. sfFilterChain->execute() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:660 0.0317 1358120 6. sfRenderingFilter->execute() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:1026 0.0317 1358120 7. sfFilterChain->execute() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:990 0.0317 1358120 8. sfBasicSecurityFilter->execute() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:1026 0.0318 1358120 9. sfFilterChain->execute() /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/filter/sfBasicSecurityFilter.class.php:39 0.0319 1358120 10. sfExecutionFilter->execute() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:1026 0.0319 1358120 11. sfExecutionFilter->handleAction() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:928 0.0319 1358120 12. sfExecutionFilter->executeAction() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:942 0.0320 1358148 13. indexAction->execute() /home/geeko/www/sf/almacenes/cache/main/prod/config/config_core_compile.yml.php:947 0.0384 1609808 14. sfForm->bind() /home/geeko/www/sf/almacenes/apps/main/modules/login/actions/indexAction.class.php:20 0.0385 1609980 15. sfForm->doBind() /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/form/sfForm.class.php:227 0.0385 1609980 16. sfValidatorSchema->clean() /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/form/sfForm.class.php:247 0.0385 1609980 17. sfValidatorSchema->doClean() /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/validator/sfValidatorSchema.class.php:90 0.0388 1627524 18. sfValidatorBase->clean() /home/geeko/www/sf/almacenes/lib/vendor/symfony/lib/validator/sfValidatorSchema.class.php:157 ]

Pero yo solo necesito el mensaje de error y no asi todo el detalle sera que tiene algo q ver el xdebug??? pero este mensaje lo obtengo al probarlo en el dev como prod.

saludos williams

Reply all
Reply to author
Forward
0 new messages