Provided by: libhtml-formfu-model-dbic-perl_2.00-1_all bug

NAME

       HTML::FormFu::Constraint::DBIC::Unique - unique constraint for HTML::FormFu::Model::DBIC

SYNOPSIS

           $form->stash->{schema} = $dbic_schema; # DBIC schema

           $form->element('text')
                ->name('email')
                ->constraint('DBIC::Unique')
                ->resultset('User')
                ;

           $form->stash->{context} = $c; # Catalyst context

           $form->element('text')
                ->name('email')
                ->constraint('DBIC::Unique')
                ->model('DBIC::User')
                ;

           $form->element('text')
                ->name('user')
                ->constraint('DBIC::Unique')
                ->model('DBIC')
                ->resultset('User')
                ;

           or in a config file:
           ---
           elements:
             - type: text
               name: email
               constraints:
                 - Required
                 - type: DBIC::Unique
                   model: DBIC::User
             - type: text
               name: user
               constraints:
                 - Required
                 - type: DBIC::Unique
                   model: DBIC::User
                   column: username

DESCRIPTION

       Checks if the input value exists in a DBIC ResultSet.

METHODS

   model
       Arguments: $string # a Catalyst model name like 'DBIC::User'

   resultset
       Arguments: $string # a DBIC resultset name like 'User'

   self_stash_key
       reference to a key in the form stash. if this key exists, the constraint will check if the
       id matches the one of this element, so that you can use your own name.

   id_field
       Use this key to define reference field which consist of primary key of resultset. If the
       field exists (and $self_stash_key not defined), the constraint will check if the id
       matches the primary key of row object:

           ---
           elements:
             - type:  Hidden
               name:  id
               constraints:
                 - Required

             - type:  Text
               name:  value
               label: Value
               constraints:
                 - Required
                 - type:       DBIC::Unique
                   resultset:  ControlledVocab
                   id_field:   id

   others
       Use this key to manage unique compound database keys which consist of more than one
       column. For example, if a database key consists of 'category' and 'value', use a config
       file such as this:

           ---
           elements:
             - type:  Text
               name:  category
               label: Category
               constraints:
                 - Required

             - type:  Text
               name:  value
               label: Value
               constraints:
                 - Required
                 - type:       DBIC::Unique
                   resultset:  ControlledVocab
                   others:     category

   method_name
       Name of a method which will be called on the resultset. The method is passed two argument;
       the value of the field, and the primary key value (usually `id`) of the record in the form
       stash (as defined by self_stash_key). An example config might be:

           ---
           elements:
             - type: text
               name: user
               constraints:
                 - Required
                 - type: DBIC::Unique
                   model: DBIC::User
                   method_name: is_username_available

   SEE ALSO
       Is a sub-class of, and inherits methods from HTML::FormFu::Constraint

       HTML::FormFu::FormFu

AUTHOR

       Jonas Alves "jgda@cpan.org"

LICENSE

       This library is free software, you can redistribute it and/or modify it under the same
       terms as Perl itself.