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>