--- trunk/lib/WebPAC/Validate.pm 2006/09/11 15:59:35 671 +++ trunk/lib/WebPAC/Validate.pm 2006/11/03 19:41:28 768 @@ -18,11 +18,11 @@ =head1 VERSION -Version 0.08 +Version 0.10 =cut -our $VERSION = '0.08'; +our $VERSION = '0.10'; =head1 SYNOPSIS @@ -41,6 +41,8 @@ 205! a # while 210 can have a c or d 210 a c d + # field which is ignored in validation + 999- =head1 FUNCTIONS @@ -86,6 +88,8 @@ if ($fld =~ s/!$//) { $self->{must_exist}->{$fld}++; + } elsif ($fld =~ s/-$//) { + $self->{dont_validate}->{$fld}++; } $log->logdie("need field name in line $curr_line: $l") unless (defined($fld)); @@ -113,20 +117,20 @@ $self ? return $self : return undef; } -=head2 validate_errors +=head2 validate_rec Validate record and return errors - my @errors = $validate->validate_errors( $rec, $rec_dump ); + my @errors = $validate->validate_rec( $rec, $rec_dump ); =cut -sub validate_errors { +sub validate_rec { my $self = shift; my $log = $self->_get_logger(); - my $rec = shift || $log->logdie("validate_errors need record"); + my $rec = shift || $log->logdie("validate_rec need record"); my $rec_dump = shift; $log->logdie("rec isn't HASH") unless (ref($rec) eq 'HASH'); @@ -142,6 +146,9 @@ next if (!defined($f) || $f eq '' || $f eq '000'); + next if (defined( $self->{dont_validate}->{$f} )); + + # track field usage $fields->{$f}++; if ( ! defined($r->{$f}) ) {