CGI-FormBuilder
view release on metacpan or search on metacpan
t/1a-generate.t view on Meta::CPAN
select3 => {
selectname => 'choosey2',
options => [qw(a b)],
},
},
},
#31 - Backbase tagname support (experiemental)
{
opt => {
stylesheet => 'fbstyle.css',
submit => [qw(Update Delete)],
reset => 'Showme',
method => 'POST',
fields => [qw(fullname gender fav_color lover)], # need hash order
header => 1,
columns => 1,
messages => 'auto',
tagnames => {
name => 'b:name',
select => 'b:select',
value => 'b:value',
option => 'b:option',
input => 'b:input',
table => 'div',
tr => 'div',
th => 'div',
td => 'div',
},
},
mod => {
fullname => {
label => 'Full Name',
type => 'text',
required => 1,
},
gender => {
label => 'Sex',
options => [qw(M F)],
comment => "It's one or the other",
},
fav_color => {
label => 'Favy Colour',
options => [qw(Red Green Blue Orange Yellow Purple)],
comment => 'Choose just one, even if you have more than one',
invalid => 1, # tricky
},
lover => {
label => 'Things you love',
options => [qw(Sex Drugs Rock+Roll)],
multiple => 1,
},
},
},
#32 - fieldsets
{
opt => {
name => 'account',
fieldsets => [[acct=>'Account Information'],
[prefs=>'User Preferences'],
[phone=>'Phone Number(s)']],
stylesheet => 1,
fields => [qw/first_name last_name outside_1 email home_phone new_set
work_phone call_me email_me outside_2 sex outside_3/],
},
mod => {
first_name => { fieldset => 'acct' },
last_name => { fieldset => 'acct' },
email => { fieldset => 'acct' },
home_phone => { fieldset => 'phone' },
work_phone => { fieldset => 'phone' },
new_set => { fieldset => 'Inline Created' },
call_me => { fieldset => 'prefs' },
email_me => { fieldset => 'prefs' },
first_name => { fieldset => 'acct' },
sex => { fieldset => 'acct',
options => [qw/Yes No/] },
},
},
#33 - builtin Div.pm "template" support
{
opt => {
name => 'parts',
fields => [qw/ticket user email part_number/],
fieldsets => [[acct=>'Account Information'],
[prefs=>'Part Information']],
method => 'post',
keepextras => 1,
validate => { ticket => '/^\d+$/' },
submit => [qw/Update Delete Cancel/],
lalign => 'left',
template => {type => 'div'},
stylesheet => 1,
},
mod => {
ticket => { fieldset => 'acct' },
email => { fieldset => 'prefs' },
},
},
# Older tests moved from 1b-fields
#34 - misc checkboxes
{
opt => {
fields => [qw/name color/],
labels => {color => 'Favorite Color'},
validate => {email => 'EMAIL'},
required => [qw/name/],
sticky => 0, columns => 1,
action => 'TEST', title => 'TEST',
},
mod => {
color => {
options => [qw(red> green& blue")],
multiple => 1, cleanopts => 0,
},
name => {
options => [qw(lower UPPER)], nameopts => 1,
},
},
},
#35
{
# check individual fields as static
opt => {
fields => [qw/name email color/],
action => 'TEST',
columns => 1
},
mod => {
name => { static => 1 },
email => { type => 'static' },
},
},
#36
{
opt => {
fields => [qw/name color hid1 hid2/],
action => 'TEST',
columns => 1,
values => { hid1 => 'Val1a' },
},
mod => {
name => { static => 1, type => 'text' },
hid1 => { type => 'hidden', value => 'Val1b' }, # should replace Val1a
hid2 => { type => 'hidden', value => 'Val2' },
color => { value => 'blew', options => [qw(read blew yell)] },
Tummy => { value => [qw(lg xxl)], options => [qw(sm med lg xl xxl xxxl)] },
},
},
);
sub refsort {
$_[0] <=> $_[1]
}
( run in 2.452 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )