Currently it is not possible to have complex conditions before save/modify where scripting (and perhaps external API) is involved when there is no need for an approval workflow (where conditions can be applied).
E.g.: Check if ERP number exists in the ERP system, have at least x items of type y linked in relationships, allow only BOM items of a specific type, if user choose attribute value x then...else..., or other more complex logic, ...
It should also be necessary to give meaningful feedback to the user (same way as workflow condition scripts).
A workaround would be to allow to give feedback to the user in the current action scripts with a return message, now we can only raise a 'general exception'.