diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-04-19 18:24:32 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-04-23 15:39:51 +0100 |
commit | 41a5f14388e92fa9dbbb5dc3a72d9ad83291eeb4 (patch) | |
tree | 8c374383eb4adc94fa4066291d4563f8444bcb5e /perllib/FixMyStreet/App/Controller/Report/New.pm | |
parent | 76c8fe259443c88d644b738d6b88e054d03c3078 (diff) |
Add way of validating data in report_form_extras.
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Report/New.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 7468b0041..8c6c1b244 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -966,6 +966,14 @@ sub process_report : Private { my $value = $c->get_param($form_name) || ''; $c->stash->{field_errors}->{$form_name} = _('This information is required') if $field->{required} && !$value; + if ($field->{validator}) { + eval { + $value = $field->{validator}->($value); + }; + if ($@) { + $c->stash->{field_errors}->{$form_name} = $@; + } + } $report->set_extra_metadata( $form_name => $value ); } |