#!/usr/bin/perl -w use strict; use Data::FormValidator::Enhanced; my $validator_profile = { 'contact' => { required => [], optional => [], alternates => { zip_or_postal => [ qw( zip postal ) ], }, constraints => { zip => "zip", postal => "post_code", }, filters => [ "trim" ], }, }; my $validator = Data::FormValidator::Enhanced->new($validator_profile); my %param = ( zip => '', postal => '',); my %error; ($error{valid}, $error{missing}, $error{invalid}, $error{unknown}) = $validator->validate(\%param, 'contact'); my $errortext = ''; $errortext .= "The following required fields were not completed: \n" . join("\n", @{$error{missing}}) . "\n"; $errortext .= "The following fields were not completed correctly: \n" . join("\n", @{$error{invalid}}) . "\n"; print $errortext;