X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FValidateCustomFields;h=8b4982842ad933a0ade79add53df2077223717fc;hp=713885f6fdc609b123b9bad1ba4bc7d05de1b676;hb=008524b8e963831999983769f7fec11f55a72f16;hpb=d10fe3d48da3f3bdb423efe42d624e9d1013c958 diff --git a/rt/share/html/Elements/ValidateCustomFields b/rt/share/html/Elements/ValidateCustomFields index 713885f6f..8b4982842 100644 --- a/rt/share/html/Elements/ValidateCustomFields +++ b/rt/share/html/Elements/ValidateCustomFields @@ -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; } }