| HTML-FormFu documentation | Contained in the HTML-FormFu distribution. |
HTML::FormFu::Element::Textarea - Textarea form field
my $element = $form->element( Textarea => 'foo' );
Textarea form field.
Sets the textarea tag's cols attribute.
Sets the textarea tag's rows attribute.
Is a sub-class of, and inherits methods from HTML::FormFu::Element::_Field, HTML::FormFu::Element
Carl Franks, cfranks@cpan.org
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| HTML-FormFu documentation | Contained in the HTML-FormFu distribution. |
package HTML::FormFu::Element::Textarea; use Moose; extends "HTML::FormFu::Element"; with 'HTML::FormFu::Role::Element::Field', 'HTML::FormFu::Role::Element::SingleValueField' => { -excludes => 'nested_name' }; use HTML::FormFu::Util qw( process_attrs ); __PACKAGE__->mk_attr_accessors(qw( cols rows )); after BUILD => sub { my $self = shift; $self->filename('input'); $self->field_filename('textarea_tag'); $self->cols(40); $self->rows(20); return; }; sub string { my ( $self, $args ) = @_; $args ||= {}; my $render = exists $args->{render_data} ? $args->{render_data} : $self->render_data; # field wrapper template - start my $html = $self->_string_field_start($render); # input_tag template $html .= $self->_string_field($render); # field wrapper template - end $html .= $self->_string_field_end($render); return $html; } sub _string_field { my ( $self, $render ) = @_; # textarea_tag template my $html = sprintf qq{<textarea name="%s"%s>}, $render->{nested_name}, process_attrs( $render->{attributes} ), ; if ( defined $render->{value} ) { $html .= $render->{value}; } $html .= "</textarea>"; return $html; } __PACKAGE__->meta->make_immutable; 1; __END__