From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use strict;
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;
# Check autofocus.
if (! defined $self->{'autofocus'}) {
$self->{'autofocus'} = 0;
}
check_bool($self, 'autofocus');
# Check disabled.
if (! defined $self->{'disabled'}) {
$self->{'disabled'} = 0;
}
check_bool($self, 'disabled');
# Check multiple.
if (! defined $self->{'multiple'}) {
$self->{'multiple'} = 0;
}
check_bool($self, 'multiple');
# Check options.
check_array_object($self, 'options', 'Data::HTML::Form::Select::Option', 'Option');
# Check required.
if (! defined $self->{'required'}) {
$self->{'required'} = 0;
}
check_bool($self, 'required');
# Check size.
check_number($self, 'size');
return;
}
1;
__END__