I’m sorry to hear about this, and it is not something we’ve heard of from any other sources. I’ve looked into the issue, and the interesting thing is that I think that the behaviour you are seeing has always been the case for most forms in Gibbon. It’s not an ideal behaviour, but most places where unique values are required are on the admin side, and so it is something we’ve lived with. I’d be interested if you can show me somewhere where this has changed between your version (v14?) and the v17.
The are a few places where we have unique validation built into the form, using AJAX, such as in public registration. This has been rebuilt in the last couple of version, but the behaviour, when I just tested it now, is as expected: if the system has email addresses set to unique (under Admin > User Admin > User Settings), then the test is activated and works.
In either case, if there are unique fields that are only checking on the back end, on non-admin forms, those would be worth us fixing. Hopefully we’ll improve the admin form checking in due course.
I’m comparing v12 and v17. I can’t really say what happened in between though and when this issue started occurring.
This issue is not occurring in our version, which is v12. Unique checks are done on client-side and the user is informed about a problem related to an unmatched unique condition. It’s just perfect and straightforward.
I have given an example in the previous post, where you should be able to reproduce this issue. Again, works just perfectly on v12.
I’m also not referring to Ajax calls. I had a closer look at the code. It’s simply a liveValidation check that is not done in v17. I suspect that this issue has started to occur as a result of the refactoring process. Maybe there was lack of time to fix this? I think it’s rather tricky to include such a test if the code is refactored.
Please have a look at this and maybe you can involve Sandra, who should be able to tell us more about it.
Again, I need a fix for this. I’m even ok with a temporary hack if no good fix can be found easily, what I suspect in this case.