Comparación de fechas en formulario

4 views
Skip to first unread message

flopezlosada

unread,
Jan 25, 2010, 1:08:39 PM1/25/10
to symfony-es
Hola
Tengo un formulario con dos fechas, la inicial y la final.
Quería saber cómo impedir que la fecha final sea anterior a la inicial
He probado a poner un mínimo en el validador sfValidatorDate para la
fecha final que sea la fecha inicial, pero no sé cómo definir ese
valor.
Gracias
Saludos

Javier Garcia

unread,
Jan 25, 2010, 2:16:46 PM1/25/10
to symfo...@googlegroups.com
On 01/25/2010 07:08 PM, flopezlosada wrote:
> Hola
> Tengo un formulario con dos fechas, la inicial y la final.
> Quer�a saber c�mo impedir que la fecha final sea anterior a la inicial
> He probado a poner un m�nimo en el validador sfValidatorDate para la
> fecha final que sea la fecha inicial, pero no s� c�mo definir ese
> valor.
> Gracias
> Saludos
>
>

No se si te puede servir alguna de las opciones de la clase que mencionas..

Javi

flopezlosada

unread,
Jan 25, 2010, 3:05:40 PM1/25/10
to symfony-es
Gracias Javi, pero no he encontrado nada que me sirva, sabes tú cómo
es?

I. Gomez

unread,
Jan 25, 2010, 3:34:52 PM1/25/10
to symfony-es
Al final de este capítulo viene algo que quizá te sirva:
http://www.symfony-project.org/forms/1_2/en/02-Form-Validation

$this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
new sfValidatorSchemaCompare('start_date',
sfValidatorSchemaCompare::LESS_THAN_EQUAL, 'end_date')
)));

Carlos Martínez

unread,
Jan 25, 2010, 3:35:07 PM1/25/10
to symfo...@googlegroups.com
Yo utilizo esto
 
//Los campos fecha
'desde'     => new sfWidgetFormDate(array( 
                                                                                                'format' => '%day%/%month%/%year%', 
                                                                                                'years'=>$anios, 
                                                                                                'months'=>$meses, 
                                                                                                'days'=>$dias, 
                                                                                                'empty_values' => array( 
                                                                                                                        'year' => 'Año', 
                                                                                                                        'month' => 'Mes', 
                                                                                                                        'day' => 'Día'))), 
                'hasta'    => new sfWidgetFormDate(array( 
                                                                                                'format' => '%day%/%month%/%year%', 
                                                                                                'years'=>$anios, 
                                                                                                'months'=>$meses, 
                                                                                                'days'=>$dias, 
                                                                                                'empty_values' => array( 
                                                                                                                        'year' => 'Año', 
                                                                                                                        'month' => 'Mes', 
                                                                                                                        'day' => 'Día'))), 
 
....
 
//Validador
$this->validatorSchema->setPostValidator( 
                                                new sfValidatorSchemaCompare( 
                                                                'desde', 
                                                                sfValidatorSchemaCompare::LESS_THAN, 
                                                                'hasta', 
                                                                array('required'=> false,'throw_global_error' => true), 
                                                                array('invalid' => 'La fecha "desde" ("%left_field%") debe ser anterior a la fecha "hasta" ("%right_field%")') 
                                                                ) 
                                                        ); 


.............
 
El validador que mencionas tu es para que tengan el formato valido de fecha, es decir no te introduzcan algo como 30 de febrero
 
Espero te sirva saludos!!
 
--
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.




--
Carlos Martínez Sánchez
Ing. Ejec. Informática
(09) - 2657574

flopezlosada

unread,
Jan 26, 2010, 5:39:29 AM1/26/10
to symfony-es
Genial!!
Muchas gracias
Reply all
Reply to author
Forward
0 new messages