Mailing List Archive

svn commit: r1378808 - in /perl/embperl/trunk/Embperl/Form: Control/datetime.pm Control/grid.pm Control/textarea.pm Validate/DateTime.pm Validate/DateTimeEU.pm Validate/TimeHHMM.pm Validate/TimeHHMMSS.pm
Author: richter
Date: Thu Aug 30 05:52:03 2012
New Revision: 1378808

URL: http://svn.apache.org/viewvc?rev=1378808&view=rev
Log:
Auto Form Validation for Number and Date Controls

Added:
perl/embperl/trunk/Embperl/Form/Validate/DateTime.pm
perl/embperl/trunk/Embperl/Form/Validate/DateTimeEU.pm
Modified:
perl/embperl/trunk/Embperl/Form/Control/datetime.pm
perl/embperl/trunk/Embperl/Form/Control/grid.pm
perl/embperl/trunk/Embperl/Form/Control/textarea.pm
perl/embperl/trunk/Embperl/Form/Validate/TimeHHMM.pm
perl/embperl/trunk/Embperl/Form/Validate/TimeHHMMSS.pm

Modified: perl/embperl/trunk/Embperl/Form/Control/datetime.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/datetime.pm?rev=1378808&r1=1378807&r2=1378808&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/datetime.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/datetime.pm Thu Aug 30 05:52:03 2012
@@ -163,6 +163,19 @@ sub prepare_fdat
$fdat -> {$name} = $year?sprintf ('%04d%02d%02d%02d%02d%02dZ', $year, $mon, $day, $hour, $min, $sec):'' ;
}

+# ---------------------------------------------------------------------------
+#
+# get_validate_auto_rules - get rules for validation, in case user did
+# not specify any
+#
+
+sub get_validate_auto_rules
+ {
+ my ($self, $req) = @_ ;
+
+ return [. $self -> {required}?(required => 1):(emptyok => 1), -type => 'DateTime' ] ;
+ }
+
1 ;

__EMBPERL__

Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1378808&r1=1378807&r2=1378808&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Thu Aug 30 05:52:03 2012
@@ -595,7 +595,7 @@ header at the bottom.

=head3 order

-Column to use as sort key
+Number of column to use as sort key

=head3 order_desc


Modified: perl/embperl/trunk/Embperl/Form/Control/textarea.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/textarea.pm?rev=1378808&r1=1378807&r2=1378808&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/textarea.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/textarea.pm Thu Aug 30 05:52:03 2012
@@ -21,6 +21,8 @@ use base 'Embperl::Form::Control' ;

use Embperl::Inline ;

+
+
1 ;

__EMBPERL__

Added: perl/embperl/trunk/Embperl/Form/Validate/DateTime.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Validate/DateTime.pm?rev=1378808&view=auto
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Validate/DateTime.pm (added)
+++ perl/embperl/trunk/Embperl/Form/Validate/DateTime.pm Thu Aug 30 05:52:03 2012
@@ -0,0 +1,88 @@
+
+###################################################################################
+#
+# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
+#
+# You may distribute under the terms of either the GNU General Public
+# License or the Artistic License, as specified in the Perl README file.
+#
+# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# $Id: TimeHHMMSS.pm 1004104 2010-10-04 04:07:38Z richter $
+#
+###################################################################################
+
+
+package Embperl::Form::Validate::DateTime ;
+
+use base qw(Embperl::Form::Validate::Default);
+
+my %error_messages =
+(
+ de =>
+ {
+ validate_datetime_eu => 'Feld %0: "%1" ist kein g𬴩ges Zeitformat. Geben Sie die Zeit in der Form tt.mm.jjjj hh:mm:ss ein. Die Angabe der Zeit nach dem Datum ist optional.',
+ },
+
+ 'de.utf-8' =>
+ {
+ validate_datetime_eu => 'Feld %0: "%1" ist kein gültiges Zeitformat. Geben Sie die Zeit in der Form tt.mm.jjjj hh:mm:ss ein. Die Angabe der Zeit nach dem Datum ist optional.',
+ },
+
+ en =>
+ {
+ validate_datetime_eu => 'Field %0: "%1" isn\\\'t a valid time. Please enter the time as hh:mm:ss. The time string is optional.',
+ }
+ );
+
+# --------------------------------------------------------------
+
+sub getmsg
+ {
+ my ($self, $id, $language, $default_language) = @_ ;
+
+ return $error_messages{$language}{$id} ||
+ $error_messages{$default_language}{$id} ||
+ $self -> SUPER::getmsg ($id, $language, $default_language) ;
+ }
+
+
+# --------------------------------------------------------------
+
+sub validate
+ {
+ my ($self, $key, $value, $fdat, $pref) = @_ ;
+
+ if($value =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(.)$/)
+ {
+ if ($4 < 1 || $4 > 31 ||
+ $5 < 1 || $5 > 12 ||
+ $6 < 1900 || $6 > 2100 ||
+ $3 < 0 || $3 > 23 ||
+ $4 < 0 || $4 > 59 ||
+ $5 < 0 || $5 > 59)
+ {
+ return ['validate_datetime_eu', $value] ;
+ }
+ }
+ elsif ($value !~ /^\s*((?:d|m|y)\s*(?:\+|-)?\s*(?:\d+)?)\s*$/)
+ {
+ return ['validate_datetime_eu', $value] ;
+ }
+
+ return undef ;
+ }
+
+# --------------------------------------------------------------
+
+sub getscript_validate
+ {
+ my ($self, $arg, $pref) = @_ ;
+
+ return ('obj.value.search(/^\s*\d{1,2}(\.\d{1,2}(\.\d{1,4})?)?(\s*,?\s+\d{1,2}(:\d{1,2})?)?(:\d{1,2})?\s*$/) >= 0 || obj.value.search(/^\s*((d|m|y)\s*(\+|-)?\s*(\d+)?)\s*$/) >= 0', ['validate_datetime_eu', "'+obj.value+'"]) ;
+ }
+
+
+1;

Added: perl/embperl/trunk/Embperl/Form/Validate/DateTimeEU.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Validate/DateTimeEU.pm?rev=1378808&view=auto
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Validate/DateTimeEU.pm (added)
+++ perl/embperl/trunk/Embperl/Form/Validate/DateTimeEU.pm Thu Aug 30 05:52:03 2012
@@ -0,0 +1,45 @@
+
+###################################################################################
+#
+# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
+#
+# You may distribute under the terms of either the GNU General Public
+# License or the Artistic License, as specified in the Perl README file.
+#
+# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# $Id: TimeHHMMSS.pm 1004104 2010-10-04 04:07:38Z richter $
+#
+###################################################################################
+
+
+package Embperl::Form::Validate::DateTimeEU ;
+
+use base qw(Embperl::Form::Validate::DateTime);
+
+
+# --------------------------------------------------------------
+
+sub validate
+ {
+ my ($self, $key, $value, $fdat, $pref) = @_ ;
+
+ if($value =~ /^(\d{1:2})\.(\d{1:2})\.(\d{1:4})\s+(\d{1:2})\.(\d{1:2})\.(\d{1:4})$/)
+ {
+ if ($1 < 1 || $1 > 31 ||
+ $2 < 1 || $2 > 12 ||
+ $3 < 1900 || $3 > 2100 ||
+ $4 < 0 || $4 > 23 ||
+ $5 < 0 || $5 > 59 ||
+ $6 < 0 || $6 > 59)
+ {
+ return ['validate_datetime_eu', $value] ;
+ }
+ return undef ;
+ }
+
+
+
+1;

Modified: perl/embperl/trunk/Embperl/Form/Validate/TimeHHMM.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Validate/TimeHHMM.pm?rev=1378808&r1=1378807&r2=1378808&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Validate/TimeHHMM.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Validate/TimeHHMM.pm Thu Aug 30 05:52:03 2012
@@ -15,7 +15,7 @@
###################################################################################


-package Embperl::Form::Validate::Time ;
+package Embperl::Form::Validate::TimeHHMM ;

use base qw(Embperl::Form::Validate::Default);


Modified: perl/embperl/trunk/Embperl/Form/Validate/TimeHHMMSS.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Validate/TimeHHMMSS.pm?rev=1378808&r1=1378807&r2=1378808&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Validate/TimeHHMMSS.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Validate/TimeHHMMSS.pm Thu Aug 30 05:52:03 2012
@@ -15,7 +15,7 @@
###################################################################################


-package Embperl::Form::Validate::Time_Long ;
+package Embperl::Form::Validate::TimeHHMMSS ;

use base qw(Embperl::Form::Validate::Default);




---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org