【发布时间】:2011-06-20 16:05:51
【问题描述】:
使用 HTML::FormHandler 公式我只想呈现表单字段的字段部分。
<div>
my label [% form.field('name').render %]
</div>
这会呈现字段和标签。
【问题讨论】:
标签: perl webforms template-toolkit
使用 HTML::FormHandler 公式我只想呈现表单字段的字段部分。
<div>
my label [% form.field('name').render %]
</div>
这会呈现字段和标签。
【问题讨论】:
标签: perl webforms template-toolkit
对于未来的搜索者:
您可以在表单类中定义字段时设置do_label 属性。
has_field 'name' => (
type => 'Text'
do_label => 0,
);
【讨论】:
我在 HFH 的手册中找到了另一种方法。
package Test::Form;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler';
has '+name' => ( default => 'testform' );
has '+widget_wrapper' => ( default => 'None' );
has '+auto_fieldset' => ( default => 0 );
has_field 'foo';
【讨论】:
我在渲染器检查的代码中看到:
$self->has_flag('no_render_label')
所以你需要设置这个标志。 它是如何完成的?我只能猜测。
您没有指定您使用的是哪个小部件,如果我理解正确,您应该扩展他并创建自己的小部件。
package HTML::FormHandler::Field::Checkbox::NoLabel;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler::Field::Checkbox';
our $VERSION = '0.01';
has '+no_render_label' => ( default => 1 );
【讨论】: