feat: useAsTitle in validation of relationship filterOptions #14577
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What?
See #14564.
If a collection used in a relationship has
useAsTitleconfigured, use this in the validation message if it fails filterOptions validation.If the collection does not have this set, fallback to the id as it currently uses.
Spotted a couple of small fixes during making this change too:
falseCollectionswas not correctly being applied, meaning filterOptions validation could succeed when passing an invalid collection. I've added a test for this and fixed.Why?
Improved UX on the front end when this validation fails. It's a tricky situation to get into as the filterOptions should prevent you from choosing one of these options. But if a relationship was added before the filterOptions was configured then a previously valid relationship could become invalid, and this error appears. It also appears when using the API.
How?
In the filterOptions validation function, if required, lookup the relationship by its ID and use the titleField on the existing error message.
Before & after screenshots (different collections, but you get the idea)