Data::FormValidator - $VERSION = '3.59';
if( $results->has_invalid() ) { # get the name of 1st invalid field
my @ref = $results->invalid();
#print STDERR Data::Dumper::Dumper( @ref );
my $feld = $ref[0];
push @{$data}, { 'Error' => $results->msgs()->{$feld} };
}
Den Umweg über @ref habe ich jetztgemacht, da ich so keinen Fehler bekomme.
Quote 'dfv_profile' => {
# dev: go2success back rm <= unknon fields? müssen die rein?
optional => [qw(Firma Fax eMail Text Zimmertyp_2 Anzahl_2 Zimmertyp_3 Anzahl_3 Text go2success back)],
required => [qw(Name Vorname Strasse Hausnummer PLZ Ort Land Telefon Anreise_Tag Anreise_Monat Anreise_Jahr Abreise_Tag Abreise_Monat Abreise_Jahr Zimmertyp_1 Anzahl_1 rm)],
constraints => {
# name a constraint, useful for returning error messages
eMail => {
name => 'emailValid',
constraint => qr/^[\w\d][\w\d\.\-]*\@([\w\d\-]+\.)+[a-zA-Z]{2,4}$/,
},
}, # /contraints
msgs => {
constraints => {
'emailValid' => 'Bitte geben Sie eine gültige eMail-Adresse ein oder lassen Sie das Feld leer',
}, # /constraints
# This token will be included in the hash if there are
# any errors returned. This can be useful with templating
# systems like HTML::Template
# The 'prefix' setting does not apply here.
# defaults to undefined
any_errors => 'FehlerLoop',
}, # /msgs
}, # /dfv_profile
Da sind meine Formparameter und die damalige Version der Beschränkung(en).
Wenn ich auf die eine Msg. zur ungültigen eMail zugreifen wolle
$results->invalid()->[0];
habe ich immer den Fehler erhlaten: "not an arrayref".
Werde es bei Gelegenhiet nochmal überarbeiten.
mfg pktm