1

HTML :: FormHandlerフォーミュラを使用して、フォームフィールドのフィールド部分のみをレンダリングしたいと思います。

<div>
  my label [% form.field('name').render %] 
</div>

これにより、フィールドとラベルがレンダリングされます。

4

3 に答える 3

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 );
于 2011-02-03T16:29:24.517 に答える
1

将来の検索者向け:

do_labelフォーム クラスでフィールドを定義するときに属性を設定できます。

has_field 'name' => (
    type => 'Text'
    do_label => 0,
);

ソース: HTML::FormHandler フィールド属性リファレンス

于 2012-07-29T20:32:19.657 に答える
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';
于 2011-06-22T19:59:41.537 に答える