使用HTML :: FormHandler公式我想只渲染表单字段的字段部分。
<div>
my label [% form.field('name').render %]
</div>
这会渲染字段和标签。
答案 0 :(得分:3)
我在代码中看到渲染器检查:
$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 );
答案 1 :(得分:1)
对于未来的搜索者:
您可以在表单类中定义字段时设置do_label
属性。
has_field 'name' => (
type => 'Text'
do_label => 0,
);
答案 2 :(得分: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';