Embperl
view release on metacpan or search on metacpan
Embperl/Form/Control/password.pm view on Meta::CPAN
###################################################################################
#
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2015 Gerald Richter
# Embperl - Copyright (c) 2015-2023 actevy.io
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
#
# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id$
#
###################################################################################
package Embperl::Form::Control::password ;
use strict ;
use base 'Embperl::Form::Control' ;
use vars qw{%fdat} ;
use Embperl::Inline ;
# ------------------------------------------------------------------------------------------
#
# init_data - daten aufteilen
#
sub init_data
{
my ($self, $req, $parentctrl) = @_ ;
my $fdat = $req -> {docdata} || \%fdat ;
my $name = $self->{name} ;
$fdat->{$name} = $fdat->{$name}?'********':'' ;
my $retype_name = $self->{retype_name} ;
$fdat->{$retype_name} = $fdat->{$name} if ($retype_name) ;
}
# ------------------------------------------------------------------------------------------
#
# prepare_fdat - daten zusammenfuehren
#
sub prepare_fdat
{
my ($self, $req) = @_ ;
my $fdat = $req -> {form} || \%fdat ;
my $name = $self->{name} ;
return if (!exists $fdat->{$name}) ;
delete $fdat -> {$name} if ($fdat -> {$name} eq '********') ;
}
# ---------------------------------------------------------------------------
#
# get_validate_auto_rules - get rules for validation, in case user did
# not specify any
#
sub get_validate_auto_rules
{
my ($self, $req) = @_ ;
return [ ($self -> {required}?(required => 1):(emptyok => 1)), length_min => 4 ] if (!$self->{retype_name}) ;
$req ||= $Embperl::req ;
my $text = $self -> form -> convert_label ($self, $self->{retype_name}, undef, $req) ;
return [ -frontend_only, "same", $self->{retype_name} . ':' . $text, ($self -> {required}?(required => 1):(emptyok => 1)), length_min => 4 ] ;
}
1 ;
__EMBPERL__
[# ---------------------------------------------------------------------------
#
# show_control - output the control
#]
[$ sub show_control ($self, $req) $]
<input type="password" name="[+ $self -> {force_name} || $self -> {name} +]" [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]
[$if $self -> {size} $]size="[+ $self->{size} +]"[$endif$]
[$if $self -> {maxlength} $]size="[+ $self->{maxlength} +]"[$endif$]
>
[$endsub$]
( run in 1.531 second using v1.01-cache-2.11-cpan-39bf76dae61 )