Bivio::UI::XHTML::Widget::FormFieldError
# Copyright (c) 2005-2010 bivio Software, Inc. All Rights Reserved.
# $Id$
package Bivio::UI::XHTML::Widget::FormFieldError;
use strict;
use Bivio::Base 'XHTMLWidget.Tag';
use Bivio::UI::ViewLanguageAUTOLOAD;
my($_FE) = b_use('FacadeComponent.FormError');
sub NEW_ARGS {
return [qw(field ?class)];
}
sub initialize {
my($self) = @_;
$self->initialize_attr(label => '');
$self->put_unless_exists(
tag => 'div',
class => 'field_err',
control => IfFieldError($self->get('field')),
string_font => 0,
);
return shift->SUPER::initialize(@_);
}
sub render_tag_value {
my($self, $source, $buffer) = @_;
my($field) = $self->render_simple_attr(field => $source);
my($model) = $self->resolve_form_model($source);
$$buffer .= $self->render_simple_value(
$_FE->get_from_source($source)
->to_widget_value(
$source,
$model,
$field,
$self->render_simple_attr(label => $source),
$model->get_field_error($field),
),
$source,
);
return;
}
1;