Bivio::UI::Widget::IfFieldError
# Copyright (c) 2008 bivio Software, Inc. All Rights Reserved.
# $Id$
package Bivio::UI::Widget::IfFieldError;
use strict;
use Bivio::Base 'Widget.If';
my($_VS) = 'Bivio::UI::ViewShortcuts';
sub internal_as_string {
return shift->unsafe_get('field');
}
sub internal_new_args {
my(undef, $field, $on, $off, $attributes) = @_;
return {
field => $field,
defined($on) ? (control_on_value => $on) : (),
defined($off) ? (control_off_value => $off) : (),
($attributes ? %$attributes : ()),
};
}
sub initialize {
my($self) = @_;
$self->initialize_attr('field');
$self->initialize_attr(control_on_value => 1);
$self->put_unless_exists(
control => $_VS->vs_form_method_call($self, 'get_field_error'));
return shift->SUPER::initialize(@_);
}
1;