Is it possible to override a field module's implementation of hook_field_validate()? I need to override hook_field_validate() for a particular field (provided by the Video Embed Field module). The description for that hook states:


  Validate this module's field data.


So the idea is that it's only invoked for the module that implements a particular field, which makes sense. 

Unfortunately there's no altering mechanism in place (that I can find) so the implementations of those hooks are pretty much hard-coded. Also the hook is never run through module_implements() (as you would expect), so in turn is not available to be overridden using hook_module_implements_alter().

Does anyone know of a way, however unclean, of overriding hook_field_validate() for a particular field implementation, without hacking any core/contrib modules?
There is hook_field_attach_validate(), which is invoked by the single function that invokes hook_field_validate(), namely field_attach_validate(), which is called by field_attach_form_validate().

I did not find an obvious way to get rid of the original validation function, but a quick hack would be to remove the errors, that the original validation function produced, from the $errors array in your hook_field_attach_validate() implementation.