Commit fd21608 introduced a working field-level validator that validates taxonomy field value changes based on the user's create permissions, using hook_field_attach_validate().
However, our implementation of this hook was returning errors even after our form-level validator corrected disallowed changes. I suspect there was a caching-related issue. In any case, several attempted fixes resulted in one or both of the validation steps malfunctioning.
I have temporarily commented out this hook implementation, because it is far more common for end users to update an entity via a form than with the API. However, once our validation is more robust, we should fix this hook.
Comments
Comment #1
xjm#1209108: Provide human-readable error message text on field validation can be re-opened once this is fixed.
Comment #2
xjmentity_load_unchanged() has the potential to resolve the issue.
Comment #3
xjmThe issue actually seems to have been resolved by #1214672: (D7) Create permissions currently broken when user may create some but not all terms in a field, so I have uncommented this function:
http://drupalcode.org/project/taxonomy_access.git/commit/16133a3