The EPDM Bill of Materials tab allows you to edit a variable value of a child component directly from the computed BOM if that child component is checked out by that user. And as far as I can tell, you cannot control what is input into this interface. For example, if the "Number" variable is read only on the data card, you can still edit it in the computed BOM. Other than denying access to view the computed BOM, is there any way to prevent these edits from the BOM interface through a setting, the API, or otherwise?
I've got the same issue with being able to edit the custom properties directly, but that's another story.
I'm with you. As far as I can tell you cannot rely on the datacard to enforce data validation. (Because of the two reasons you mentioned above.)
The best way I have found for reliable validation is to do checks as files go through transitions....i.e. "Do not allow a file to go into the released state until X." Either via transition conditions or API.