Defect #29195
openRegular expression for Long text formatted custom fields does not work multiline
0%
Description
When using custom fields with format Long text, the Regular expression does not fully validate the field, as it seems to not be working multiline and global.
Using our case as example for this issue:
We want to validate a field named Steps to reproduce. We use the following regex:
(([1-9]+[0-9]*\. [A-Z]+.*?(\n|$))+)
And the following field Default value as a template:
1. Start the application 2. . Observe the issue
The template by itself without modification by the issue reporter should not validate. A valid example of a correct field would be:
1. Start the application 2. Go to "Help" 3. Click "About" 4. Observe the issue
However, Redmine only validates the first line of the field. If the first line line does not pass the regex test, Redmine correctly complains "Steps To Reproduce is invalid". But it does ignores everything in the following lines.
There is no workaround that could work by rewriting the regular expression.
Possible solutions:
1. Make all Long text custom fields regex global and multiline by default
2. Add additional checkboxes in custom field edit page with Multiline and Global to complement the Regular expression field
Environments:
We can confirm this issue in both our current production environment as well as our test environment (the version of which will be migrating our production environment soon).
Production Environment: Redmine version 3.2.1.stable Ruby version 2.3.4-p301 (2017-03-30) [x86_64-linux-gnu] Rails version 4.2.6 Environment production Database adapter Mysql2
Test Enviroment: Environment: Redmine version 3.4.2.stable Ruby version 2.3.4-p301 (2017-03-30) [x86_64-linux-gnu] Rails version 4.2.8 Environment production Database adapter Mysql2
No data to display