We have made good use of Dependency files to enforce business data requirements, in addition to the blanket 'Required' in Studio. This works well.
However, it turns out that these 'rules' are bypassed when editing data 'in line' in module List View or sub panel List View if the fields in question are not visible on the List View.
Given that users have the option to shape their ListViews via the Cog icon, these 2 circumstances have significant impact on any data integrity rules in force:
a) it introduces an additional layer of system admin to consider/remember. For example, I add a piece of requirement logic to the Dependency files, I then need to remember to add that to any module Listview or subpanel listview. Potentially a lot of work and error prone
b) users can easily break this by disabling fields in their module ListViews
I would expect that the Dependency or Studio 'required' properties should be consistently applied across the various UIs (this is partially achieved, for example, by the option to set a field in Studio to 'required' for import)
I logged this with Sugar and it has been a known issue since 2015 which does not give me any optimism for a fix anytime soon (I would have thought this was a significant deficiency)
Is there a way to close this loophole in ListViews so that it applies both the Dependency or Studio required logic ?
Failing this, I'm thinking a workaround would be to 'lock' a field on ListView so it could not be edited (for example Sales Stage on Opportunities). This would then force the user to go into the Record View or Preview Edit to update this field, where the full logic is applied. Can someone advise how to 'lock' a field in List View / Subpanel through code customisation ?