rt 4.0.23
[freeside.git] / rt / share / html / Elements / ValidateCustomFields
index 539c6f4..55c1fce 100644 (file)
@@ -2,7 +2,7 @@
 %#
 %# COPYRIGHT:
 %#
-%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
 %#                                          <sales@bestpractical.com>
 %#
 %# (Except where explicitly superseded by other copyright notices)
@@ -81,7 +81,17 @@ while ( my $CF = $CustomFields->Next ) {
         grep defined, @values;
     @values = ('') unless @values;
 
-    foreach my $value( @values ) {
+    for my $value( @values ) {
+        if ($value) {
+            my $ref = { Content => $value };
+            my ($ok, $msg) = $CF->_CanonicalizeValue( $ref );
+            unless ($ok) {
+                $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg );
+                push @res, $msg;
+                $valid = 0;
+            }
+        }
+
         next if $CF->MatchPattern($value);
 
         my $msg = loc("Input must match [_1]", $CF->FriendlyPattern);