In XP 7.8 we plan to introduce a Content Validation API.
The good news - this work is mostly done.
The bad news - for now, only Java API will be available.
I guess one would have to submit a complete “new” content document, in order for this to work. Also, there is the problem of attachments - which are uploaded asyncronously - and can be validated themself.
Are you aware of the “requirevalid” option when creating or modifying content with the current API? So, by setting requireValid=true, a new document or change will not be persisted. IMHO this seems to solve your requirement?
Part of my thought here is that I wouldn’t want get updates my version log unnecessary.
Some usecases
Create an admin-tool that gives content creators a list of invalid content that they have to open and fix.
I have some code that will migrate my content to match changes in the content-type-xml, and I want to perform a “dry run” before updating the data.