Ambrosia

 view release on metacpan or  search on metacpan

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

        {
            $self->_data->{$_} = $v;
        }
    }
}

sub prepare_validate :Abstract
{
}

sub verify
{
    my $self = shift;
    $self->prepare_validate;

    if ( $self->_violations->count > 0 )
    {
        foreach ( keys %{$self->_data} )
        {
            $self->_violations->add($_ => $self->_data->{$_});
        }

share/Templates/Common/SaveManager.xsl  view on Meta::CPAN


our $VERSION = sprintf('0.%03d', q$Revision: 01 $ =~ /(\d+)/o);

sub prepare
{
    my $self = shift;

    eval
    {
        my $validator = new <xsl:value-of select="$RealAppName" />::Validators::<xsl:value-of select="@Name"/>Validator(_prototype => '<xsl:value-of select="$RealAppName" />::Entity::<xsl:value-of select="@Name"/>');
        if ( my $violations = $validator->verify )
        {
            Context->repository->set(<xsl:value-of select="@Name"/> => $violations);
            $self->add_error($violations, '<xsl:value-of select="@Name"/>');
        }
        else
        {
            Context->repository->set(<xsl:value-of select="@Name"/> => undef);
            $validator->Instance->save;
            $self->add_message('Data saved successfully.');
        }



( run in 0.629 second using v1.01-cache-2.11-cpan-5467b0d2c73 )