sub validate_fields { my $self = shift; my ($results, $error_page) = $self->check_rm( 'show_form', { required => [qw/ case_name file_type date interim_final case_summary /], optional => [qw/ alias penalty_amount compliance_plan_requirements compliance_plan_requirements_value /], require_some => { program_name => [ 1, qw/ pn_open_burning pn_asbestos pn_permit pn_monitoring /], }, dependencies => { reimburse_value => ['reimburse'], }, constraints => { interim_final => qr/^interim$|^final$/i, order_date => sub { return ParseDate(shift); }, }, filters => ['trim'], msgs => { any_errors => 'err__', prefix => 'err_', missing => 'Required Field', }, }, ); return $error_page; }