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 )