I’m building a skill tracking app. I don’t want my users to create duplicate skills, therefore I’m using a validation rule on the name property of the Skill entity:
When I run the app locally it behaves different than when run in the cloud (Free Mendix cloud).
1. create a skill, name it “mendix development”, and then save.
2. create a second skill, name it “Mendix Development”, and then save.
* An error message appears because the second skill has a name that’s not unique
Outcome when run locally:
* An error message appears
Outcome when run in cloud:
* No error message appears. The skill is created. Now there are two skills with the same name (except from casing): “mendix development” and “Mendix Development”
How can I make the validation in the cloud behave the same way as the validation when run locally?
The documentation on this topic states that uniqueness is checked by the database. I suspect that the (free) cloud is more strict and sees ‘Mendix Development’ as a different value from 'mendix development’. Which database do you use in your develompent evironment?
Strings can be manipulated with String Function Calls and you can use that with a before commit flow to check if a value already occurs in the database. Keep however in mind that this is disastrous for performance with large data sets.