---
name: "Validation::Class::Errors"
section: "3pm"
platform: "linux"
package: "libvalidation-class-perl"
version: "7.70-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Validation::Class::Errors"
---

# Validation::Class::Errors(3pm)

Error Handling Object for Fields and Classes

## NAME

Validation::Class::Errors - Error Handling Object for Fields and Classes

## VERSION

version 7.70

## SYNOPSIS

```
    package SomeClass;

    use Validation::Class;

    package main;

    my $class = SomeClass->new;

    ...

    # errors at the class-level
    my $errors = $class->errors ;

    print $errors->to_string;

    # errors at the field-level
    my $field_errors = $user->fields->{name}->{errors} ;

    print $field_errors->to_string;

    1;
```

## DESCRIPTION

Validation::Class::Errors is responsible for error handling in Validation::Class derived classes on both the class and field levels respectively.

## METHODS

### new

```
    my $self = Validation::Class::Errors->new;
```

### add

```
    $self = $self->add("houston, we have a problem", "this isn't cool");
```

### all

```
    my @list = $self->all;
```

### clear

```
    $self = $self->clear;
```

### count

```
    my $count = $self->count;
```

### each

```
    my $list = $self->each(sub{ ucfirst lc shift });
```

### list

```
    my $list = $self->list;
```

### find

```
    my @matches = $self->find(qr/password/);
```

### first

```
    my $item = $self->first;
    my $item = $self->first(qr/password/);
```

### join

```
    my $string = $self->join; # returns "an error, another error"

    my $string = $self->join($delimiter);
```

### to\_string

The to\_string method stringifies the errors using the specified delimiter or ", " (comma-space) by default.

```
    my $string =  $self->to_string; # returns "an error, another error"

    my $string = $self->to_string($delimiter, sub { ucfirst lc shift });
```

## AUTHOR

Al Newkirk \<anewkirk@ana.io\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
