Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Embperl-cvs

svn commit: r474140 - in /perl/embperl/trunk: Changes.pod Embperl/Form/Control/radio.pm Embperl/Form/Validate.pm Embperl/Form/Validate/Default.pm

 

 

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded


richter at apache

Nov 12, 2006, 8:41 PM

Post #1 of 1 (1771 views)
Permalink
svn commit: r474140 - in /perl/embperl/trunk: Changes.pod Embperl/Form/Control/radio.pm Embperl/Form/Validate.pm Embperl/Form/Validate/Default.pm

Author: richter
Date: Sun Nov 12 20:41:09 2006
New Revision: 474140

URL: http://svn.apache.org/viewvc?view=rev&rev=474140
Log:
- Embperl::Form: readonly handling for radio buttons
- Embperl::Form::Validate: checked and notchecked validation rules

Modified:
perl/embperl/trunk/Changes.pod
perl/embperl/trunk/Embperl/Form/Control/radio.pm
perl/embperl/trunk/Embperl/Form/Validate.pm
perl/embperl/trunk/Embperl/Form/Validate/Default.pm

Modified: perl/embperl/trunk/Changes.pod
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Changes.pod?view=diff&rev=474140&r1=474139&r2=474140
==============================================================================
--- perl/embperl/trunk/Changes.pod (original)
+++ perl/embperl/trunk/Changes.pod Sun Nov 12 20:41:09 2006
@@ -23,6 +23,7 @@
- Added Table of Content pod file, which lists
all available Embperl documentation, to get
a better overview. Thanks to Axel Beckert.
+ - Additional checked and notchecked Validationrules
- Fixed Cookie expire calculation, because
relative exipre times where only calculated
once at server startup. Spotted by Derrick Spell.

Modified: perl/embperl/trunk/Embperl/Form/Control/radio.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/radio.pm?view=diff&rev=474140&r1=474139&r2=474140
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/radio.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/radio.pm Sun Nov 12 20:41:09 2006
@@ -31,8 +31,29 @@
{
my ($self, $req) = @_ ;

+ my ($values, $options) = $self -> get_values ;
my $name = $self -> {name} ;
- $self -> show_control ($req, "^\Q$fdat{$name}\\E\$") ;
+ my $addtop = $self -> {addtop} || [] ;
+ my $addbottom= $self -> {addbottom} || [] ;
+ my $set = !defined ($fdat{$name})?1:0 ;
+ my $filter = $self -> {filter} ;
+
+ my $val ;
+ my $i = 0 ;
+
+ if ($set)
+ {
+ foreach $val ((@$addtop, @$values, @$addbottom))
+ {
+ if (!defined ($filter) || (ref $val?$val -> [0]:$val =~ /$filter/i))
+ {
+ $fdat{$name} = ref $val?$val -> [0]:$val ;
+ last ;
+ }
+ }
+ }
+
+ $self -> show_control ($req, "^\Q$fdat{$name}\\E\$", $values, $options) ;
}

1 ;
@@ -44,9 +65,9 @@
# show_control - output the control
#]

-[.$ sub show_control ($self, $req, $filter)
+[.$ sub show_control ($self, $req, $filter, $values, $options)

- my ($values, $options) = $self -> get_values ($req) ;
+ ($values, $options) = $self -> get_values ($req) if (!$values) ;
my $name = $self -> {name} ;
$filter ||= $self -> {filter} ;
my $addtop = $self -> {addtop} || [] ;
@@ -56,32 +77,48 @@

my $val ;
my $i = 0 ;
+
+if ($self -> {vert})
+ {
+ $tr = '<tr>' ;
+ $trend = '</tr>' ;
+ $trglob = '' ;
+ $trendglob = '' ;
+ }
+else
+ {
+ $tr = '' ;
+ $trend = '' ;
+ $trglob = '<tr>' ;
+ $trendglob = '</tr>' ;
+ }
+
$]
+<table class="cRadioTab">[+ do { local $escmode = 0 ; $trglob }+]
[$ foreach $val (@$addtop) $]
[$if !defined ($filter) || ($val->[0] =~ /$filter/i) $]
[- $fdat{$name} = $val -> [0], $set = 0 if ($set) ; -]
- <input type="radio" name="[+ $name +]" value="[+ $val -> [0] +]"
- >[+ $val ->[1] || $val -> [0] +]
+ [+ do { local $escmode = 0 ; $tr }+]<td><input type="radio" name="[+ $name +]" value="[+ $val -> [0] +]"
+ ></td><td>[+ $val ->[1] || $val -> [0] +]</td>[+ do { local $escmode = 0 ; $trend }+]
[$endif$]
[$endforeach$]
[$ foreach $val (@$values) $]
[$if !defined ($filter) || ($val =~ /$filter/i) $]
[.- $fdat{$name} = $val, $set = 0 if ($set) ; -]
- <input type="radio" name="[+ $name +]" value="[+ $val +]"
+ [+ do { local $escmode = 0 ; $tr }+]<td><input type="radio" name="[+ $name +]" value="[+ $val +]"
[$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="show_radio_checked(this,[+ $i +],[+ $max +])" [$endif$]
- >[+ $options ->[$i] || $val +]
- [- $vert = $self -> {vert} -][$while $vert-- > 0 $]<br/>[$endwhile$]
+ ></td><td>[+ $options ->[$i] || $val +]</td>[+ do { local $escmode = 0 ; $trend }+]
[$endif$]
[* $i++ ; *]
[$endforeach$]
[$ foreach $val (@$addbottom) $]
[$if !defined ($filter) || ($val->[0] =~ /$filter/i) $]
[- $fdat{$name} = $val -> [0], $set = 0 if ($set) ; -]
- <input type="radio" name="[+ $name +]" value="[+ $val -> [0] +]"
- >[+ $val ->[1] || $val -> [0] +]
+ [+ do { local $escmode = 0 ; $tr }+]<td><input type="radio" name="[+ $name +]" value="[+ $val -> [0] +]"
+ ></td><td>[+ $val ->[1] || $val -> [0] +]</td>[+ do { local $escmode = 0 ; $trend }+]
[$endif$]
[$endforeach$]
-
+[+ do { local $escmode = 0 ; $trendglob }+]</table>
[$endsub$]



Modified: perl/embperl/trunk/Embperl/Form/Validate.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Validate.pm?view=diff&rev=474140&r1=474139&r2=474140
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Validate.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Validate.pm Sun Nov 12 20:41:09 2006
@@ -915,6 +915,14 @@

=item must_contain_one_of

+=item checked
+
+Checkbox must be selected
+
+=item notchecked
+
+Checkbox must not be selected
+
=back



Modified: perl/embperl/trunk/Embperl/Form/Validate/Default.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Validate/Default.pm?view=diff&rev=474140&r1=474139&r2=474140
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Validate/Default.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Validate/Default.pm Sun Nov 12 20:41:09 2006
@@ -171,6 +171,43 @@
return ('obj.value') ;
}

+
+# --------------------------------------------------------------
+
+sub validate_checked
+ {
+ my ($self, $key, $value, $arg, $fdat, $pref) = @_ ;
+
+ return !defined($value) || $value eq '' ? undef : [] ;
+ }
+
+# --------------------------------------------------------------
+
+sub getscript_checked
+ {
+ my ($self, $arg, $pref) = @_ ;
+
+ return ('obj.checked') ;
+ }
+
+# --------------------------------------------------------------
+
+sub validate_notchecked
+ {
+ my ($self, $key, $value, $arg, $fdat, $pref) = @_ ;
+
+ return !defined($value) || $value eq '' ? [] : undef ;
+ }
+
+# --------------------------------------------------------------
+
+sub getscript_notchecked
+ {
+ my ($self, $arg, $pref) = @_ ;
+
+ return ('!obj.checked') ;
+ }
+
# --------------------------------------------------------------

sub validate_eq



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe [at] perl
For additional commands, e-mail: embperl-cvs-help [at] perl

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.