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
AUTHOR
Jonas Alves "[email protected]"LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.