NAME Tags::HTML::Form - Tags helper for form. SYNOPSIS use Tags::HTML::Form; my $obj = Tags::HTML::Form->new(%params); $obj->process(@fields); $obj->process_css; METHODS "new" my $obj = Tags::HTML::Form->new(%params); Constructor. * "css" 'CSS::Struct::Output' object for process_css processing. Default value is undef. * "form" Data object for form. Could ve a 'Data::HTML::Form' instance. Default value is instance with 'form' css class. * "submit" Data object for submit. Could be a 'Data::HTML::Form::Input' or 'Data::HTML::Button' instance. Default value is instance with 'Save' submit value. * "tags" 'Tags::Output' object. Default value is undef. "process" $obj->process(@fields); Process Tags structure for fields defined in @fields to output. Accepted items in @fields are objects: * Data::HTML::Form::Input * Data::HTML::Textarea Returns undef. "process_css" $obj->process_css; Process CSS::Struct structure for output. Returns undef. ERRORS new(): From Class::Utils::set_params(): Unknown parameter '%s'. From Tags::HTML::new(): Parameter 'css' must be a 'CSS::Struct::Output::*' class. Parameter 'tags' must be a 'Tags::Output::*' class. Parameter 'form' is required. Parameter 'form' must be a 'Data::HTML::Form' instance. Parameter 'form' must define 'css_class' parameter. Parameter 'submit' instance has bad type. Parameter 'submit' is required. Parameter 'submit' must be a 'Data::HTML::Form::Input' instance. process(): From Tags::HTML::process(): Parameter 'tags' isn't defined. Form item must be a 'Data::HTML::Form::Input' instance. process_css(): From Tags::HTML::process_css(): Parameter 'css' isn't defined. EXAMPLE use strict; use warnings; use CSS::Struct::Output::Indent; use Tags::HTML::Form; use Tags::Output::Indent; # Object. my $css = CSS::Struct::Output::Indent->new; my $tags = Tags::Output::Indent->new; my $obj = Tags::HTML::Form->new( 'css' => $css, 'tags' => $tags, ); # Process form. $obj->process; $obj->process_css; # Print out. print $tags->flush; print "\n\n"; print $css->flush; # Output: #
#

# #

#
# # .form { # border-radius: 5px; # background-color: #f2f2f2; # padding: 20px; # } # .form input[type=submit]:hover { # background-color: #45a049; # } # .form input[type=submit] { # width: 100%; # background-color: #4CAF50; # color: white; # padding: 14px 20px; # margin: 8px 0; # border: none; # border-radius: 4px; # cursor: pointer; # } # .form input, select, textarea { # width: 100%; # padding: 12px 20px; # margin: 8px 0; # display: inline-block; # border: 1px solid #ccc; # border-radius: 4px; # box-sizing: border-box; # } # .form-required { # color: red; # } DEPENDENCIES Class::Utils, Data::HTML::Form, Data::HTML::Button, Error::Pure, Scalar::Util, Tags::HTML. REPOSITORY AUTHOR Michal Josef Špaček LICENSE AND COPYRIGHT © 2022 Michal Josef Špaček BSD 2-Clause License VERSION 0.04