Ark
view release on metacpan or search on metacpan
lib/Ark/Form.pm view on Meta::CPAN
my $field = $self->field($name);
my $label = $field ? $field->label || $field->name : $func;
my $messages = {
%{ $self->messages || {} },
%{ $self->_fields_messages || {} },
};
my $message = $messages->{"$name.$func"}
|| $messages->{ $func };
unless ($message) {
warn qq{Message "$name.$func" does not defined};
return;
}
if ($self->needs_localize) {
$label = $self->localize( $label );
$message = $self->localize( $message, $label );
}
else {
my $gen_msg = sub {
my ($tmpl, @args) = @_;
local $_ = $tmpl;
s!\[_(\d+)\]!$args[$1-1]!ge;
$_;
};
$message = $gen_msg->( $message, $label );
}
$message;
}
sub error_message {
my ($self, $name) = @_;
return unless $self->submitted;
sprintf($self->message_format, $self->error_message_plain($name) || return);
}
sub error_messages {
my ($self, $name) = @_;
[ map { sprintf( $self->message_format, $_ ) }
@{ $self->error_messages_plain($name) || [] } ];
}
sub fill {
my $self = shift;
my $p = @_ > 1 ? {@_} : $_[0];
for my $k (keys %$p) {
$self->fillin_params->{ $k } = $p->{ $k };
}
}
sub x { $_[0] };
sub messages {
my $self = shift;
return {
not_null => '[_1] is required',
map({ $_ => '[_1] is invalid' } qw/
int ascii date duplication length regex uint
http_url
email_loose
hiragana jtel jzip katakana
file_size file_mime
/ ),
%{ $self->_fields_messages },
};
}
sub message_format {
'<span class="error">%s</span>';
}
sub encode_entities {
warn 'Ark::Form::encode_entities() is deprecated. use HTML::Escape::escape_html() instead';
HTML::Escape::escape_html(@_);
}
__PACKAGE__->meta->make_immutable;
( run in 1.529 second using v1.01-cache-2.11-cpan-39bf76dae61 )