Validation (RAP)
What it is
A RAP behavior that checks data and raises messages without changing it. Declared in the BDEF with its trigger (on save, on modify), it can block the save and attach failed-state messages to specific fields.
Why it matters for Clean Core
Validations centralise business rules on the BO so every consumer — Fiori, OData, EML — is held to the same rules. It's the Clean Core replacement for scattered field checks in screen PAI logic.
Common pitfall
Validating in the UI/annotation layer and assuming the back end is covered. UI checks are convenience only; the authoritative rule must be a RAP validation, or an OData/EML caller can bypass it entirely.