html-formhandler-model-dbic icon indicating copy to clipboard operation
html-formhandler-model-dbic copied to clipboard

use $field->get_message('unique') instead of $field->uniqe_message

Open woosley opened this issue 13 years ago • 0 comments

According to the HTML::FormHandler::Field document, the unique message is set by

                messages => { required => '...', unique => '...' }

eg:

                 has_field 'id' => (
                            type     => 'Text',
                            required => 1,
                            accessor => 'username',
                            unique   => 1,
                            messages => {
                                   required => 'username is required',
                                   unique   => 'This user name is already taken'
                            },
                );

However, setting unique message dose not set $field->unique_message, then in this TraitFor::Model::DBIC(line 262), the unique message we get every time is "Duplicate value for [_1]". By using get_message('unique'), we can get the correct message.

return $self->unique_messages->{$constraint} ||= "Duplicate value for [_1] unique constraint" also suffers from the same problem, I did not dig into this part, so maybe there should be another fix.

woosley avatar Jun 25 '11 12:06 woosley