X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FValidateCustomFields;h=55c1fcebbb21f1b80bf5b8b58cc2efbe8ac31dca;hp=922b885f2d57336cbe199ccf8a2259598db056fe;hb=919e930aa9279b3c5cd12b593889cd6de79d67bf;hpb=85e677b86fc37c54e6de2b06340351a28f5a5916 diff --git a/rt/share/html/Elements/ValidateCustomFields b/rt/share/html/Elements/ValidateCustomFields index 922b885f2..55c1fcebb 100644 --- a/rt/share/html/Elements/ValidateCustomFields +++ b/rt/share/html/Elements/ValidateCustomFields @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -83,27 +83,12 @@ while ( my $CF = $CustomFields->Next ) { for my $value( @values ) { if ($value) { - if ( $CF->Type eq 'IPAddress' ) { - use Regexp::Common qw(RE_net_IPv4); - my $ip = RT::ObjectCustomFieldValue->ParseIP( $value ); - unless ( $ip ) { - my $msg = - loc( "Input can not be parsed as an IP address" ); - $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg ); - push @res, $msg; - $valid = 0; - } - } - elsif ( $CF->Type eq 'IPAddressRange' ) { - my ( $start_ip, $end_ip ) = - RT::ObjectCustomFieldValue->ParseIPRange($value); - unless ( $start_ip && $end_ip ) { - my $msg = - loc( "Input can not be parsed as an IP address range" ); - $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg ); - push @res, $msg; - $valid = 0; - } + my $ref = { Content => $value }; + my ($ok, $msg) = $CF->_CanonicalizeValue( $ref ); + unless ($ok) { + $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg ); + push @res, $msg; + $valid = 0; } }