Entity validation needs to be untied from form validation, i.e. have a way to validate the properties (and fields) of an entity object. Currently, validation of an entity is mostly tied to the form system, only field API has a hardly used way to validate field data independently of a form.
Problem / Motivation
If implementing web services or other custom ways to update an entity, APIs for validating the data are necessary. However, in those scenarios no forms are involved, so those should not be required. Also see #1540656: [META] Entity Serialization API for web services (e.g. content staging)
Add an entity validation API that works based upon a property-based validation API, see #1346214: [meta] Unified Entity Field API. First off property based validation would handle property value validation, while the remaining validation can happen on the entity-level (i.e. validate combinations of property values).
#2002152: Implement entity validation for the test entity
#2002156: Convert form validation of nodes to entity validation
#2002158: Convert form validation of comments to entity validation
#2002162: Convert form validation of users to entity validation
#2002168: Convert form validation of terms to entity validation
#2002174: Convert form validation of vocabularies to entity validation
#2002176: Convert field validation to entity validation
#2002180: Embrace entity validation in entity forms