---
name: "Validation::Class::Directive::Options"
section: "3pm"
platform: "linux"
package: "libvalidation-class-perl"
version: "7.900059-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Validation::Class::Directive::Options"
---

# Validation::Class::Directive::Options(3pm)

Options Directive for Validation Class Field Definitions

## NAME

Validation::Class::Directive::Options - Options Directive for Validation Class Field Definitions

## VERSION

version 7.900059

## SYNOPSIS

```
    use Validation::Class::Simple;
    my $rules = Validation::Class::Simple->new(
        fields => {
            user_role => {
                options => 'Client'
            }
        }
    );
    # set parameters to be validated
    $rules->params->add($parameters);
    # validate
    unless ($rules->validate) {
        # handle the failures
    }
```

## DESCRIPTION

Validation::Class::Directive::Options is a core validation class field directive that holds an enumerated list of values to be validated against the associated parameters.

- •

  alternative argument: an-array-of-user-defined-options

  This directive can be passed a single value or an array of values:

  ```
      fields => {
          user_role => {
              options => ['Client', 'Employee', 'Administrator']
          }
      }
      # the following examples are useful for plugins (and other code)
      # that may want to otherwise identify option values
      fields => {
          user_role => {
              options => [
                  '1|Client',
                  '2|Employee',
                  '3|Administrator'
              ]
          }
      }
      # please note:
      # declaring options as "keyed-options" will cause the validation of
      # the option's key and NOT the option's value
      fields => {
          user_role => {
              options => [
                  [ 1 => 'Client' ],
                  [ 2 => 'Employee' ],
                  [ 3 => 'Administrator' ]
              ]
          }
      }
  ```

## 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.
