HTML :: FormHandler отображать поле без метки - PullRequest
1 голос
/ 03 февраля 2011

С формулой HTML :: FormHandler я хочу отобразить только часть поля поля формы.

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

Это отображает поле и метку.

Ответы [ 3 ]

3 голосов
/ 03 февраля 2011

Я вижу в коде, который проверяет средство визуализации:

$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 голос
/ 30 июля 2012

Для будущих пользователей:

Вы можете установить атрибут do_label, когда определяете свое поле в классе формы.

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

Источник: HTML :: FormHandler fieldссылка на атрибут

0 голосов
/ 22 июня 2011

Я нашел другой способ в руководстве 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';
...