From d34d77b26311cf6b57e1e4c8edf4f90e29bdfcfb Mon Sep 17 00:00:00 2001 From: dakkar Date: Wed, 15 Feb 2006 13:04:25 +0000 Subject: * ritocchi ai CSS * corretta la validazione delle date git-svn-id: svn://luxion/repos/IscrittiGroLUG/trunk@195 fcb26f47-9200-0410-b104-b98ab5b095f3 --- GroLUG/lib/GroLUG/C/Iscritto.pm | 8 ++++---- GroLUG/lib/HTML/Widget/Constraint/ISODate.pm | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'GroLUG/lib') diff --git a/GroLUG/lib/GroLUG/C/Iscritto.pm b/GroLUG/lib/GroLUG/C/Iscritto.pm index b2a9609..b47dfce 100644 --- a/GroLUG/lib/GroLUG/C/Iscritto.pm +++ b/GroLUG/lib/GroLUG/C/Iscritto.pm @@ -132,9 +132,9 @@ sub widget_for_pag { my $widget=$c->widget('pagamento'); $widget->method('post'); - $widget->element('Textfield','data_pagamento')->label('Data del pagamento')->value($self->strdate($pagamento->data_pagamento)); - $widget->element('Textfield','data_iscrizione')->label('Data di iscrizione')->value($self->strdate($pagamento->data_iscrizione)); - $widget->element('Textfield','data_scadenza')->label('Data di scadenza')->value($self->strdate($pagamento->data_scadenza)); + $widget->element('Textfield','data_pagamento')->label('Data del pagamento')->value($c->strdate($pagamento->data_pagamento)); + $widget->element('Textfield','data_iscrizione')->label('Data di iscrizione')->value($c->strdate($pagamento->data_iscrizione)); + $widget->element('Textfield','data_scadenza')->label('Data di scadenza')->value($c->strdate($pagamento->data_scadenza)); $widget->element('Textfield','prezzo')->label('Importo pagato')->value($pagamento->prezzo); $widget->element('Hidden','iscr_id')->value($iscr_id || (defined $pag ? $pagamento->iscritto->id : '')); @@ -142,7 +142,7 @@ sub widget_for_pag { $widget->filter('TrimEdges','data_scadenza','data_pagamento','data_iscrizione','prezzo'); - $widget->constraint('All','data_scadenza','data_pagamento','data_iscrizione','prezzo')->messagge('Campo obbligatorio'); + $widget->constraint('All','data_scadenza','data_pagamento','data_iscrizione','prezzo')->message('Campo obbligatorio'); $widget->constraint('ISODate','data_scadenza','data_pagamento','data_iscrizione')->message('Data non valida'); $widget->constraint('EuroAmount','prezzo')->message('Prezzo non valido'); diff --git a/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm b/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm index f5680d2..9712d3b 100644 --- a/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm +++ b/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm @@ -10,9 +10,16 @@ my $format=DateTime::Format::Strptime->new(pattern=>'%F'); sub validate { my ($self,$value)=@_; - my $val=$format->parse_datetime($value); + my $ret=eval { + my $val=$format->parse_datetime($value); + return unless defined($val); - return defined($val); + my $round_tripped=$val->strftime('%F'); + + return ($value eq $round_tripped); + }; + return if $@; + return $ret; } 1; -- cgit v1.2.3