CGI-Lazy

 view release on metacpan or  search on metacpan

lib/CGI/Lazy/DB/RecordSet.pm  view on Meta::CPAN


1;

__END__

=head1 LEGAL

#===========================================================================

Copyright (C) 2008 by Nik Ogura. All rights reserved.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

Bug reports and comments to nik.ogura@gmail.com. 

#===========================================================================

=head1 NAME

CGI::Lazy::RecordSet

=head1 SYNOPSIS

	use CGI::Lazy;

	our $q = CGI::Lazy->new({

					tmplDir 	=> "/templates",

					jsDir		=>  "/js",

					plugins 	=> {

						mod_perl => {

							PerlHandler 	=> "ModPerl::Registry",

							saveOnCleanup	=> 1,

						},

						ajax	=>  1,

						dbh 	=> {

							dbDatasource 	=> "dbi:mysql:somedatabase:localhost",

							dbUser 		=> "dbuser",

							dbPasswd 	=> "letmein",

							dbArgs 		=> {"RaiseError" => 1},

						},

						session	=> {

							sessionTable	=> 'SessionData',

							sessionCookie	=> 'frobnostication',

							saveOnDestroy	=> 1,

							expires		=> '+15m',

						},

					},

				});

	my $recordset = $q->db->recordset({

			table		=> 'detail',  #table where records are coming from

			mysqlAuto	=> 1,

			fieldlist	=> [

						{name => 'detail.ID', #name of field

							hidden => 1}, #do not display to screen.  Recordset cant do any operations on fields that are not a part of itself, however all fields need not be displayed

						{name => 'invoiceid', 

							hidden => 1},

						{name => 'prodCode', 

							label => 'Product Code', 

							validator => {rules => ['/\d+/'], msg => 'number only, and is required'}}, #validator for filed.  msg is not implemented at present.

						{name 		=> 'quantity', 

							label 		=> 'Quantity', 

							validator 	=> {rules => ['/\d+/'], msg => 'number only, and is required'},

							outputMask	=> "%.1f", #formatting to data applied on output to browser

						},

						{name => 'unitPrice', 

							label 		=> 'Unit Price' , 

							validator 	=> {rules => ['/\d+/'], msg => 'number only, and is required'},

							inputMask	=> "%.1f", #formatting to data applied on input to database

							},

						{name => 'productGross', 

							label => 'Product Gross' , 

							validator => {rules => ['/\d+/'], msg => 'number only, and is required'}},

						{name => 'prodCodeLookup.description', 



( run in 0.569 second using v1.01-cache-2.11-cpan-5837b0d9d2c )