Ambrosia

 view release on metacpan or  search on metacpan

lib/Ambrosia/Utils/Util.pm  view on Meta::CPAN

package Ambrosia::Utils::Util;
use strict;
use warnings;
use Carp;

use Ambrosia::error::Exceptions;

use base 'Exporter';
our @EXPORT_OK = qw/array_to_str escape_html unescape_html check_file_name pare_list pare/;

our $VERSION = 0.010;

sub array_to_str
{
    return join '_', @_ == 1 && ref $_[0] ? @{$_[0]} : (@_);
}

sub escape_html
{
    for ( shift )
    {
        return $_ unless $_;
        s/&/&/sg;
        s/</&lt;/sg;
        s/>/&gt;/sg;
        s/"/&quot;/sg;
        return $_;
    }
}

sub unescape_html
{
    #my $latin = defined $self->{'.charset'}
    #            ? $self->{'.charset'} =~ /^(ISO-8859-1|WINDOWS-125[12]|KOI8-?R)$/i
    #            : 1;
    for ( shift )
    {
        s/&amp;/&/sg;
        s/&lt;/</sg;
        s/&gt;/>/sg;
        s/&quot;/"/sg;

lib/Ambrosia/Validator/Constraint.pm  view on Meta::CPAN

package Ambrosia::Validator::Constraint;
use strict;
use warnings;

use Ambrosia::Utils::Util qw(escape_html);

use Ambrosia::Meta;

class sealed
{
    public => [qw/name errorMessage/],
    private => [qw/constraint/],
};

our $VERSION = 0.010;

lib/Ambrosia/Validator/Constraint.pm  view on Meta::CPAN

    my $prev = $self->constraint;
    $self->constraint = sub {
        my ($v, $pEM) = $prev->(shift);

        return ($v, $pEM) unless $v;

        if ($p{regexp} && $v !~ /$p{regexp}/)
        {
            push @$pEM, $badFormat_em;
        }
        return (escape_html($v), $pEM);
    };

    return $self;
}

sub Email
{
    my $self = shift;
    my %p = @_;
    $p{regexp} = qr/[a-z0-9-_]+@(?:[a-z0-9-_]+\.)+[a-z]{2,4}/s;

lib/Ambrosia/Validator/Constraint.pm  view on Meta::CPAN

    my $prev = $self->constraint;
    $self->constraint = sub {
        my ($v, $pEM) = $prev->(shift);

        my $lVal = length $v;

        if ( (defined $p{min} && $lVal < $p{min}) || (defined $p{max} && $lVal > $p{max}) )
        {
            push @$pEM, $notNumber_rv;
        }
        return (escape_html($v), $pEM);
    };

    return $self;
}

sub Date
{
    my $self = shift;
    my %p = @_;



( run in 0.668 second using v1.01-cache-2.11-cpan-c21f80fb71c )