Rose-HTML-Objects
view release on metacpan or search on metacpan
lib/Rose/HTML/Form.pm view on Meta::CPAN
},
hobbies =>
{
type => 'checkbox group',
name => 'hobbies',
choices => [ 'Chess', 'Checkers', 'Knitting' ],
default => 'Chess'
},
bday = => { type => 'date split mdy' }
);
}
...
$form = RegistrationForm->new();
$form->params(name => 'John',
gender => 'm',
hobbies => undef,
lib/Rose/HTML/Form.pm view on Meta::CPAN
Returns true if a parameter named NAME exists, false otherwise.
=item B<param_exists_for_field [ NAME | FIELD ]>
Returns true if a L<param|/param> exists that addresses the field named NAME or the L<Rose::HTML::Form::Field>-derived object FIELD, false otherwise.
This method is useful for determining if any query parameters exist that address a compound field. For example, a compound field named C<a.b.c.d> could be addressed by any one of the following query parameters: C<a>, C<a.b>, C<a.b.c>, or C<a.b.c.d>....
$form = Rose::HTML::Form->new;
$form->add_field(when => { type => 'datetime split mdyhms' });
$form->params({ 'when.date' => '2004-01-02' });
$form->param_exists_for_field('when'); # true
$form->param_exists_for_field('when.date'); # true
$form->param_exists_for_field('when.date.month'); # true
$form->param_exists_for_field('when.time.hour'); # false
$subform = Rose::HTML::Form->new;
$subform->add_field(subwhen => { type => 'datetime split mdyhms' });
$form->add_form(subform => $subform);
$form->params({ 'subform.subwhen.date' => '2004-01-02' });
$form->param_exists_for_field('subform.subwhen'); # true
$form->param_exists_for_field('subform.subwhen.date'); # true
$form->param_exists_for_field('subform.subwhen.date.month'); # true
$form->param_exists_for_field('subform.subwhen.time.hour'); # false
$form->param_exists_for_field('when'); # false
lib/Rose/HTML/Form/Field/DateTime/Split/MDYHMS.pm view on Meta::CPAN
use base 'Rose::HTML::Form::Field::DateTime::Split';
our $VERSION = '0.550';
sub build_field
{
my($self) = shift;
$self->add_fields
(
date => 'datetime split mdy',
time => 'time split hms',
);
}
sub decompose_value
{
my($self, $value) = @_;
return undef unless(defined $value);
lib/Rose/HTML/Object.pm view on Meta::CPAN
'time seconds' => 'Rose::HTML::Form::Field::Time::Seconds',
'date' => 'Rose::HTML::Form::Field::Date',
'datetime' => 'Rose::HTML::Form::Field::DateTime',
'datetime range' => 'Rose::HTML::Form::Field::DateTime::Range',
'datetime start' => 'Rose::HTML::Form::Field::DateTime::StartDate',
'datetime end' => 'Rose::HTML::Form::Field::DateTime::EndDate',
'datetime split mdy' => 'Rose::HTML::Form::Field::DateTime::Split::MonthDayYear',
'datetime split mdyhms' => 'Rose::HTML::Form::Field::DateTime::Split::MDYHMS',
);
#
# Object data
#
use Rose::Object::MakeMethods::Generic
(
scalar =>
[
lib/Rose/HTML/Object.pm view on Meta::CPAN
'time seconds' => Rose::HTML::Form::Field::Time::Seconds
'date' => Rose::HTML::Form::Field::Date
'datetime' => Rose::HTML::Form::Field::DateTime
'datetime range' => Rose::HTML::Form::Field::DateTime::Range
'datetime start' => Rose::HTML::Form::Field::DateTime::StartDate
'datetime end' => Rose::HTML::Form::Field::DateTime::EndDate
'datetime split mdy' =>
Rose::HTML::Form::Field::DateTime::Split::MonthDayYear
'datetime split mdyhms' =>
Rose::HTML::Form::Field::DateTime::Split::MDYHMS
=item B<required_html_attrs>
Returns a reference to a sorted list of required HTML attributes in scalar context, or a sorted list of required HTML attributes in list context. The default set of required HTML attributes is empty.
Required HTML attributes are included in the strings generated by the L<html_attrs_string|/html_attrs_string> and L<xhtml_attrs_string|/xhtml_attrs_string> methods, even if they have been deleted using the L<delete_html_attr|/delete_html_attr> method...
See the introduction to the L<"CLASS METHODS"> section for more information about the "inheritable set" implementation used by the set of boolean HTML attributes.
t/form-repeatable.t view on Meta::CPAN
gender =>
{
type => 'radio group',
choices => { 'm' => 'Male', 'f' => 'Female' },
default => 'm',
},
bday =>
{
type => 'datetime split mdy',
},
start =>
{
type => 'datetime split mdyhms',
},
);
}
sub person_from_form { shift->object_from_form('MyPerson') }
package MyAddressForm;
our @ISA = qw(Rose::HTML::Form);
ok($form->param_exists_for_field('sub.event.date.month'), 'param_exists_for_field() nested 12');
$form->params({ 'sub.x' => '2004-01-02 12:34:56' });
ok(!$form->param_exists_for_field('sub'), 'param_exists_for_field() nested 13');
ok(!$form->param_exists_for_field('sub.event'), 'param_exists_for_field() nested 14');
ok(!$form->param_exists_for_field('sub.event.date'), 'param_exists_for_field() nested 15');
ok(!$form->param_exists_for_field('sub.event.date.month'), 'param_exists_for_field() nested 16');
$form = Rose::HTML::Form->new;
$form->add_field(when => { type => 'datetime split mdyhms' });
$form->params({ 'when.date' => '2004-01-02' });
ok($form->param_exists_for_field('when'), 'param_exists_for_field() nested 2.1');
ok($form->param_exists_for_field('when.date'), 'param_exists_for_field() nested 2.2');
ok($form->param_exists_for_field('when.date.month'), 'param_exists_for_field() nested 2.3');
ok(!$form->param_exists_for_field('when.time.hour'), 'param_exists_for_field() nested 2.4');
$subform = Rose::HTML::Form->new;
$subform->add_field(subwhen => { type => 'datetime split mdyhms' });
$form->add_form(subform => $subform);
$form->params({ 'subform.subwhen.date' => '2004-01-02' });
ok($form->param_exists_for_field('subform.subwhen'), 'param_exists_for_field() nested 2.5');
ok($form->param_exists_for_field('subform.subwhen.date'), 'param_exists_for_field() nested 2.6');
ok($form->param_exists_for_field('subform.subwhen.date.month'), 'param_exists_for_field() nested 2.7');
ok(!$form->param_exists_for_field('subform.subwhen.time.hour'), 'param_exists_for_field() nested 2.8');
( run in 1.572 second using v1.01-cache-2.11-cpan-71847e10f99 )