|
use Mo qw(build default is) ; use Mo::utils qw(check_array_object check_bool check_number) ; our $VERSION = 0.06;
has autofocus => (
ro => 1,
);
has css_class => (
is => 'ro' ,
);
has disabled => (
is => 'ro' ,
);
has form => (
ro => 1,
);
has id => (
is => 'ro' ,
);
has label => (
is => 'ro' ,
);
has multiple => (
is => 'ro' ,
);
has name => (
is => 'ro' ,
);
has options => (
default => [],
is => 'ro' ,
);
has required => (
is => 'ro' ,
);
has size => (
is => 'ro' ,
);
sub BUILD {
my $self = shift ;
if (! defined $self ->{ 'autofocus' }) {
$self ->{ 'autofocus' } = 0;
}
check_bool( $self , 'autofocus' );
if (! defined $self ->{ 'disabled' }) {
$self ->{ 'disabled' } = 0;
}
check_bool( $self , 'disabled' );
if (! defined $self ->{ 'multiple' }) {
$self ->{ 'multiple' } = 0;
}
check_bool( $self , 'multiple' );
check_array_object( $self , 'options' , 'Data::HTML::Form::Select::Option' , 'Option' );
if (! defined $self ->{ 'required' }) {
$self ->{ 'required' } = 0;
}
check_bool( $self , 'required' );
check_number( $self , 'size' );
return ;
}
1;
|