package MyFilter;
use strict;
use warnings;
use base 'HTML::FormFu::Filter';

use Date::Calc;

sub filter {
    my ( $self, $value, $params ) = @_;
    
    my $year  = $params->{year};
    my $month = $params->{month};
    my $day   = $params->{day};
    
    if ( ! Date::Calc::check_date( $year, $month, $day ) ) {
        my $dt = DateTime->today( time_zone => 'local' );
        
        for (qw/ year month day /) {
            $params->{$_} = $dt->$_;
        }
        
        return $dt->year;
    }
    
    return $value;
}

1;
