NAME

DBIx::Class::Valiant::Validator::Result - Verify a DBIC related result

SYNOPSIS

    package Example::Schema::Result::Person;

    use base 'Example::Schema::Result';

    __PACKAGE__->load_components(qw/
      Valiant::Result
      Core
    /);

    __PACKAGE__->table("person");

    __PACKAGE__->add_columns(
      id => { data_type => 'bigint', is_nullable => 0, is_auto_increment => 1 },
      username => { data_type => 'varchar', is_nullable => 0, size => 48 },
      first_name => { data_type => 'varchar', is_nullable => 0, size => 24 },
      last_name => { data_type => 'varchar', is_nullable => 0, size => 48 },
      password => {
        data_type => 'varchar',
        is_nullable => 0,
        size => 64,
      },
    );

    __PACKAGE__->might_have(
      profile =>
      'Example::Schema::Result::Profile',
      { 'foreign.person_id' => 'self.id' }
    );

    __PACKAGE__->validates(profile => (result=>+{validations=>1}, on=>'profile' ));

DESCRIPTION

Trigger validations on a related result.

ATTRIBUTES

This validator supports the following attributes:

validations

Boolean. Default is 0 ('false'). Used to trigger validations on the related result.

Please keep in mind these errors will be localized to the associated object, not on the current object.

invalid_msg

String or translation tag of the error when the result is not valid.

SHORTCUT FORM

This validator supports the follow shortcut forms:

    validates attribute => ( result => 1, ... );

Which is the same as:

    validates attribute => (
      result => {
        validations => 1,
      }
    );

Which is a shortcut when you wish to run validations on the related rows

GLOBAL PARAMETERS

This validator supports all the standard shared parameters: if, unless, message, strict, allow_undef, allow_blank.

SEE ALSO

Valiant, Valiant::Validator, Valiant::Validator::Each.

AUTHOR

See Valiant

COPYRIGHT & LICENSE

See Valiant