| Form-Sensible documentation | Contained in the Form-Sensible distribution. |
Form::Sensible::Field::Toggle - An on/off field
use Form::Sensible::Field::Toggle;
my $object = Form::Sensible::Field::Toggle->new(
on_value => '100',
off_value => '0'
);
The Toggle field type represents a simple on/off selector. A value is
provided for both on and off states. A toggle can often be rendered in
the same ways as a Select|Form::Sensible::Field::Select field type, as
in most cases it can be treated as a select with only two options, on and off.
'on_value' The value to be used when the field is in the 'ON' state.
'off_value' hasThe value to be used when the field is in the 'OFF' state.
Jay Kuri - <jayk@cpan.org>
Ionzero LLC. http://ionzero.com/
Copyright 2009 by Jay Kuri <jayk@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Form-Sensible documentation | Contained in the Form-Sensible distribution. |
package Form::Sensible::Field::Toggle; use Moose; use namespace::autoclean; extends 'Form::Sensible::Field::Select'; ## provides a simple on/off field has 'on_value' => ( is => 'rw', default => 'on', ); has 'off_value' => ( is => 'rw', default => 'off', ); has 'on_label' => ( is => 'rw', isa => 'Str', lazy => 1, default => sub { ucfirst(shift->on_value)}, ); has 'off_label' => ( is => 'rw', isa => 'Str', lazy => 1, default => sub { ucfirst(shift->off_value)}, ); sub get_additional_configuration { my $self = shift; return { 'on_value' => $self->on_value, 'off_value' => $self->off_value }; } sub options { my $self = shift; return [ { name => $self->on_label, value => $self->on_value }, { name => $self->off_label, value => $self->off_value }, ]; } sub accepts_multiple { my $self = shift; return 0; } #sub validate { # my $self = shift; # # if ($self->value ne $self->on_value && $self->value ne $self->off_value) { # # if (exists($self->validation->{'invalid_message'})) { # return $self->validation->{'invalid_message'}; # } else { # return $self->display_name . " was set to an invalid value"; # } # } else { # return 0; # } #} __PACKAGE__->meta->make_immutable; 1; __END__