--- trunk/lib/WebPAC/Validate.pm 2007/05/24 10:53:48 834 +++ trunk/lib/WebPAC/Validate.pm 2007/05/24 10:53:50 835 @@ -160,13 +160,25 @@ if ( my $regex = $self->{delimiters_regex} ) { foreach my $v (@{ $rec->{$f} }) { - my $l = _pack_subfields_hash( $v, 1 ); - my $template = ''; - $l =~ s/$regex/$template.=$1/eg; -# warn "## template: $template\n"; - $self->{_delimiters_templates}->{$f}->{$template}++ if ( $template ); + my $l = _pack_subfields_hash( $v, 1 ); + my $subfield_dump = $l; + my $template = ''; + $l =~ s/$regex/$template.=$1/eg; + #warn "## template: $template\n"; + + if ( $template ) { + $self->{_delimiters_templates}->{$f}->{$template}++; + + if ( my $v = $self->{_validate_delimiters_templates} ) { + if ( ! defined( $v->{$template} ) ) { + $errors->{$f}->{invalid_delimiters_combination} = $template; + $errors->{$f}->{dump} = $subfield_dump; + } else { + warn "## $f $template ok\n"; + } + } + } } - } next if (defined( $self->{dont_validate}->{$f} )); @@ -326,7 +338,7 @@ if ($k eq 'dump') { $dump = $tree->{dump}; -# warn "## dump: ",dump($dump),"\n"; + #warn "## dump ",dump($dump),"\n"; next; } @@ -360,7 +372,7 @@ sub _reformat { my $l = shift; $l =~ s/\t/ /g; - $l =~ s/_/ /; + $l =~ s/_/ /g; return $l; }