parent
9b8f7bb52e
commit
f3982ebd50
@ -0,0 +1,47 @@
|
||||
package NGCP::Panel::Field::EmailList;
|
||||
use HTML::FormHandler::Moose;
|
||||
use Email::Valid;
|
||||
use Sipwise::Base;
|
||||
extends 'HTML::FormHandler::Field::Text';
|
||||
|
||||
sub validate {
|
||||
my ( $self ) = @_;
|
||||
my @emails = $self->value->split(',');
|
||||
for my $mail (@emails) {
|
||||
unless( Email::Valid->address(
|
||||
-address => $mail,
|
||||
-tldcheck => 0,
|
||||
-mxcheck => 0,
|
||||
-allow_ip => 1,
|
||||
-fudge => 0,
|
||||
) ) {
|
||||
return $self->add_error($mail . " is no valid email address");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
NGCP::Panel::Field::EmailList
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This accepts a comma (,) separated list of email addresses using
|
||||
L<Email::Valid>. It does not check for a valid TLD allows IP addresses for
|
||||
the domain part. It subclasses L<HTML::FormHandler::Field::Text>.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Gerhard Jungwirth
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
This library is free software. You can redistribute it and/or modify
|
||||
it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
||||
# vim: set tabstop=4 expandtab:
|
@ -0,0 +1,36 @@
|
||||
package NGCP::Panel::Field::IPAddress;
|
||||
use HTML::FormHandler::Moose;
|
||||
use Data::Validate::IP qw(is_ipv4 is_ipv6);
|
||||
extends 'HTML::FormHandler::Field::Text';
|
||||
|
||||
sub validate {
|
||||
my ( $self ) = @_;
|
||||
return $self->add_error($self->label . " is no valid IPv4 or IPv6 address.")
|
||||
unless( is_ipv4($self->value) or is_ipv6($self->value) );
|
||||
return 1;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
NGCP::Panel::Field::IPAddress
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This accepts a valid IPv4 or IPv6 address (without square brackets).
|
||||
For details on the validation see L<Data::Validate::IP>.
|
||||
It subclasses L<HTML::FormHandler::Field::Text>.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Gerhard Jungwirth
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
This library is free software. You can redistribute it and/or modify
|
||||
it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
||||
# vim: set tabstop=4 expandtab:
|
@ -0,0 +1,38 @@
|
||||
package NGCP::Panel::Field::Regexp;
|
||||
use HTML::FormHandler::Moose;
|
||||
use Regexp::Parser;
|
||||
extends 'HTML::FormHandler::Field::Text';
|
||||
|
||||
my $parser = Regexp::Parser->new();
|
||||
|
||||
sub validate {
|
||||
my ( $self ) = @_;
|
||||
my $pattern = $self->value;
|
||||
return $self->add_error($self->label . " is no valid regexp")
|
||||
unless $parser->regex($pattern);
|
||||
return 1;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
NGCP::Panel::Field::Regexp
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This accepts a regexp that can be validated in perl. It subclasses
|
||||
L<HTML::FormHandler::Field::Text>.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Gerhard Jungwirth
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
This library is free software. You can redistribute it and/or modify
|
||||
it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
||||
# vim: set tabstop=4 expandtab:
|
Loading…
Reference in new issue