Table of Contents

Namespace The.Entities.Validation

Classes

EntityValidation

Programmatic entity validation. A run evaluates, for each entity in the owned graph: checks derived from model metadata (required, date bounds, maximum length), then the entity's Validate and ValidateAsync overrides. Entities which report themselves as derived are exempt - see IsValidated(EntityKernel). Validation is not automatic; callers (UI sessions, commands, services) initiate validation and decide how to interpret the report.

ValidationContext

Provides an API to validation rules, which are functions. Collects their findings; the absence of findings is validity.

ValidationFinding

One fact reported by a validation run.

ValidationFindings

Matching and display-policy helpers for edit surfaces distributing validation findings to the fields they own.

ValidationReport

The immutable result of validating an entity graph.

ValidationSession

Live validation for an edit surface: maintains a current ValidationReport for the graph rooted at an entity, re-running synchronous checks whenever the loaded graph changes and asynchronous checks on a trailing debounce. UI layers subscribe to ReportChanged and decide which findings to display and when; the session holds no display policy.

Structs

ValidationIntent

Identifies the purpose of a validation. Rules which don't check the intent always apply, and will therefore affect the default Save report. Rules which do check it affect only commands validating under that intent - whatever its level, a finding scoped to a Confirm/Submit-like intent never blocks a plain save.