Custom Field Validation in RT 5 driving me nuts today (broken?)

Just upgraded from RT 4.4.4 to 5. I could have sworn this was working over the weekend when I upgraded and tested, but for the last few hours none of the techs are able to close tickets.

I have a custom field for “computer name” with a validation of:
[a-zA-Z0-9]{12}|

The computer name was always either 12 characters exactly, or it was blank.
Now it’s saying “Input must match [a-zA-Z0-9]{12}|”

Putting in a 12-character computer name doesn’t satisfy the requirement either.

Of course I’ve been fiddling for the last few hours banging my head against the wall.

This seems to do exactly what I want when using regex101.com

[1]{12}|()$

RT5 doesn’t like it. I can’t leave it blank, I can’t provide a 12-character computer name…nothing makes it happy.

In addition to this, I had a dropdown list for “office” that you weren’t allowed to leave blank. Its validation is “(?#Mandatory).”, but that’s not allowing any input either.

I see nothing in the changelog about Custom Field Validation changing. Did I not get enough coffee this morning, or is something broken?


  1. a-zA-Z0-9 ↩︎

Testing quick something like ^[a-zA-Z0-9]{12}$|^\s*$ seem to work. Are there any errors in your RT logs?

In addition to this, I had a dropdown list for “office” that you weren’t allowed to leave blank. Its validation is “(?#Mandatory).”, but that’s not allowing any input either.

Where are you updating the custom field and seeing this? On ticket create? Ticket reply or the basics page?

Well…now I’m doubly stumped.
I tossed your regex in, and things worked perfectly.
I tossed my old regex in and I had no issues.

I would create a ticket by hitting the “Create new ticket” button in the upper right of the main screen. I would enter the subject and message and leave all the fields blank and then save it. It would create the ticket. I would then switch to the Jumbo view and then try to put in valid info and it would reject it. I would try to clear out the invalid info and it would reject it.

For some magical reason that I can’t explain this morning, it appears to be working again. I’m going to go do some more testing and see if I can figure out what is/was happening. I don’t like magic.