I was recently helping a client setting up picklist attributes in the SalesLogix 7.5 web client using techniques I described in this post. After we were done making the necessary modifications she went on to test out her changes in the web client. She reported back an issue that I have since replicated and verified still exists in the SalesLogix 7.5.1 web client.
The issue is when you set a picklist control to have the “Must match an item” attribute it is supposed to enforce that the entry selected matches a choice from the picklist. The problem is that the interface lets you start typing, as you type it moves you to the closest match in the picklist drop down:
However, if you simply stop typing and click to another field, you are left with what you started typing in the field:
You can now save your changes and the record would be saved with a Type = “s”.
This is obviously a bug in the SalesLogix picklist control implementation. Validation should run when leaving the focus of the control, or at least before saving on picklist controls with this attribute set. Hopefully this issue will be addressed soon.
If it is critical, I suppose you could write custom scripting on the save action of the form, or on the before save business rule to ensure the values match the picklist definitions. However, this would be a lot of work to try to alleviate a problem that should not exist.