Trap data entry into drop down panel
I have a drop down panel to fill in a field. The value list used by the drop down is populated via a table field which can be added to by the user (another interface).
One of my users had managed some data corruptions (in the sense of violating proper joins). I discovered that this user typed into the drop down window panel - I had no idea this could be done. I cannot figure out how to prevent this. Is there a way to insist only the value list be used? Some of the things I tried:
- Manage data base: validation, only allow list. This does not work because it tells you the value is not ok and ask if you want to use it anyway or if I ask for strict typing and the user closes the layout, an apparent default revert occurs leaving the field blank - not good: it has to be a valid member of the list
- I tried a script trigger: OnObjectKeystroke. For some reason nothing I have tried works properly. The keystroke is intercepted and the user is warned to stick with the drop down list, but the character that was typed in is appended to the valid value or replaces the valid value.
- I have tried clearing the field by setting it and using clear script step.
- I have tried, commits, reverts, you name it.
- Not allowing input through the inspector, but this prevents the drop down from working. Is there a way to tell the inspector to only allow drop down values, no keystrokes?
There must be a pre-commit buffer where the keystroke is stored - right? How do I clear that if it exists?