-
Notifications
You must be signed in to change notification settings - Fork 75
/
NoValue.pm
60 lines (46 loc) · 1.25 KB
/
NoValue.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package HTML::FormHandler::Field::NoValue;
# ABSTRACT: base class for submit field
use Moose;
extends 'HTML::FormHandler::Field';
=head1 SYNOPSIS
This is the base class for the Submit field. It can be used for fields that
are do not produce valid 'values'. It should not be used for fields that
produce a value or need validating.
=cut
has 'html' => ( is => 'rw', isa => 'Str', default => '' );
has 'value' => (
is => 'rw',
predicate => 'has_value',
clearer => 'clear_value',
);
sub _result_from_fields {
my ( $self, $result ) = @_;
$self->_set_result($result);
$result->_set_field_def($self);
return $result;
}
sub _result_from_input {
my ( $self, $result, $input, $exists ) = @_;
$self->_set_result($result);
$result->_set_field_def($self);
return $result;
}
sub _result_from_object {
my ( $self, $result, $value ) = @_;
$self->_set_result($result);
$result->_set_field_def($self);
return $result;
}
sub fif { }
has '+widget' => ( default => '' );
has '+writeonly' => ( default => 1 );
has '+noupdate' => ( default => 1 );
sub validate_field { }
#sub clear_value { }
sub render {
my $self = shift;
return $self->html;
}
__PACKAGE__->meta->make_immutable;
use namespace::autoclean;
1;