Added form field validation.

This commit is contained in:
JT Smith 2003-03-08 20:28:24 +00:00
parent 41cd27de26
commit dc823244a3

View file

@ -73,6 +73,20 @@ sub _getNextSequenceNumber {
return ($sequenceNumber+1);
}
#-------------------------------------------------------------------
sub _validateField {
my ($key, $type) = @_;
if ($type eq "date") {
return WebGUI::DateTime::setToEpoch($session{form}{$key});
} elsif ($type eq "interval") {
return (WebGUI::DateTime::intervalToSeconds($session{form}{$key."_interval"},$session{form}{$key."_units"}) || 0);
} elsif ($type eq "HTMLArea") {
return WebGUI::HTML::cleanSegment($session{form}{$key});
} else {
return $session{form}{$key};
}
}
#-------------------------------------------------------------------
=head2 confirm ( message, yesURL, [ , noURL, vitalComparison ] )
@ -630,7 +644,8 @@ sub new {
defaultValue=>0
} ,
editTimeout=>{
defaultValue=>1
defaultValue=>1,
fieldType=>"interval"
},
filterPost=>{
defaultValue=>"javascript",
@ -642,7 +657,9 @@ sub new {
displayTitle=>{
defaultValue=>1
},
description=>{},
description=>{
fieldType=>"HTMLArea"
},
pageId=>{
defaultValue=>$session{page}{pageId}
},
@ -650,10 +667,12 @@ sub new {
defaultValue=>1
},
startDate=>{
defaultValue=>$session{page}{startDate}
defaultValue=>$session{page}{startDate},
fieldType=>"date"
},
endDate=>{
defaultValue=>$session{page}{endDate}
defaultValue=>$session{page}{endDate},
fieldType=>"date"
},
sequenceNumber=>{}
};
@ -1283,15 +1302,13 @@ sub www_editSave {
my %set;
foreach (keys %{$_[0]->{_wobjectProperties}}) {
if (exists $session{form}{$_}) {
$set{$_} = $session{form}{$_} || $_[0]->{_wobjectProperties}{$_}{defaultValue};
$set{$_} = _validateField($_,$_[0]->{_wobjectProperties}{$_}{fieldType}) || $_[0]->{_wobjectProperties}{$_}{defaultValue};
}
}
$set{title} = $session{form}{title} || $_[0]->name;
$set{description} = WebGUI::HTML::cleanSegment($set{description});
$set{editTimeout} = WebGUI::DateTime::intervalToSeconds($session{form}{editTimeout_interval},$session{form}{editTimeout_units}) || 0;
foreach (keys %{$_[0]->{_extendedProperties}}) {
if (exists $session{form}{$_}) {
$set{$_} = $session{form}{$_} || $_[0]->{_extendedProperties}{$_}{defaultValue};
$set{$_} = _validateField($_,$_[0]->{_extendedProperties}{$_}{fieldType}) || $_[0]->{_extendedProperties}{$_}{defaultValue};
}
}
%set = (%set, %{$_[1]});