Defect #6568
Custom field min_length and max_length checks and multibyte strings
| Status: | New | Start date: | 2010-10-04 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% | |
| Category: | Custom fields | |||
| Target version: | - | |||
| Affected version: | Resolution: |
Description
If custom field contains multibyte string as a value, CustomValue.validate method will fail if byte length of string is out of range [min_length, max_length].
I've tried to use ActiveSupport::Multibyte::Chars and it fixed my case, but i don't know whether it is a right solution.
Related issues
History
#1 Updated by Felix Schäfer over 2 years ago
Could you please give steps to reproduce this problem, i.e. what custom field did you create with what options, and what did you try to put in this custom field?
#2 Updated by Vitaliy Ischenko over 2 years ago
I've created ProjectCustomField
For example:- Name: Test
- Format: text
- Min length: 5
- Max length: 7
no default value, no regex
checkboxes left untouched
Then i've navigated to project settings and entered value 'АБВГДЕЖ'
After submitting - validation error appears: "Test is too long (maximum is 7 characters)"
#3 Updated by Vitaliy Ischenko over 2 years ago
I've forgotten to mention a link http://stackoverflow.com/questions/1989154/does-ruby-share-phps-multibyte-string-problem
#4 Updated by Felix Schäfer over 2 years ago
I can confirm this problem, but I think as rails3/ruby1.9 is "around the corner", there's no big motivation for the core redmine to get adapted, though what you propose seems to be the preferred way to solve that. If you want to contribute those fixes back, make sure the existing tests pass and create some new to test the multibyte characters.