The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

FormValidator::Simple::ProfileManager::YAML - YAML profile manager for FormValidator::Simple

SYNOPSIS

  use FormValidator::Simple;
  use FormValidator::Simple::ProfileManager::YAML;

  my $manager = FormValidator::Simple::ProfileManager::YAML->new('/path/to/profile.yml');

  # get profile assosiated with @groups
  my $profile = $manager->get_profile(@groups);

  # pass obtained profile to FormValidator::Simple
  my $result = FormValidator::Simple->check($q, $profile);


  # create new manager associated with group
  my $manager2 = $manager->extract(@groups);


  # you can add profile to @groups
  $manager->add_profile(
      email => [EMAIL],[NOT_BLANK],
      @groups,
  );

  # and also you can remove profile from @groups
  $manager->remove_profile(email, @groups);


  # sample yaml profile

  group1 :
      - name
      - [ [NOT_BLANK] ]
      - email
      - [ [NOT_BLANK], [EMAIL_LOOSE] ]
      - tel
      - [ [NOT_BLANK], [NUMBER_PHONE_JP] ]
      - content
      - [ [NOT_BLANK] ]

  group2 :
     subgroup1 :
         - userid
         - [ [NOT_BLANK]]
         - password
         - [ [NOT_BLANK]]
         - name
         - [ [NOT_BLANK] ]
         - email
         - [ [NOT_BLANK], [EMAIL_LOOSE] ]

     subgroup2 :
         - tel
         - [ [NOT_BLANK], [NUMBER_PHONE_JP] ]
         - { zip : [zip1, zip2] }
         - [ [ZIP_JP] ]
         - address
         - [ [NOT_BLANK] ]


  # get profile 'group1'
  $profile = $manager->get_profile('group1');

  # get profile 'subgroup2'
  $profile = $manager->get_profile( 'group2', 'subgroup2' );
  # or you can use dot syntax.
  $profile = $manager->get_profile( 'group2.subgroup2' );


  # Default YAML loader is 'YAML'.
  # If you want to use 'YAML::Syck' as loader, pass 'loader' to constructor as below.
  my $manager = FormValidator::Simple::ProfileManager::YAML->new(
      '/path/to/profile.yml',
      {
          loader => 'YAML::Syck',
      }
  );

DESCRIPTION

FormValidator::Simple::ProfileManager::YAML is YAML profile manager for FormValidator::Simple.

METHODS

new
  $manager = FormValidator::Simple::ProfileManager::YAML->new('/path/to/profile.yml');
  $manager = FormValidator::Simple::ProfileManager::YAML->new('/path/to/profile.yml', {loader=>'YAML::Syck'});
get_profile
  $profile = $manager->get_profile();
  $profile = $manager->get_profile('group1');
  $profile = $manager->get_profile('group1', 'subgroup2');
  $profile = $manager->get_profile('group1.subgroup2');
extract
  my $manager2 = $manager->extract(@group);
add_profile
  $manager->add_profile(
      email => [EMAIL],[NOT_BLANK],
      @groups,
  );
remove_profile
  $manager->remove_profile(email, @groups);

AUTHOR

Yasuhiro Horiuchi <yasuhiro@hori-uchi.com>