You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
A [ProtectedDecision] command now runs discoverable validators, including ConceptValidator<T> and CommandValidator<T>, whose only public constructor is parameterless and that Arc constructed itself. A validator with constructor dependencies is still refused before anything is resolved. A validator registered explicitly through a factory, an instance or another registration that supplies an instance Arc did not construct is resolved first, because only resolving it reveals what it supplies, and then refused: the command still fails and nothing the registration produced is used. Let convention discovery register the validator. Arc certifies only that it ran the parameterless constructor and that the rules and rule components are unchanged by reference; state changed after construction (including by a decorator that returns the original instance), property injection, ApplyCondition, cascade mode, nested child validators, static members and service locators are not covered and stay the developer's responsibility. See protected-mode validator boundary (part of #2831)
The refusal messages and the ARCCHR0011 validator advice now say why a validator was refused and what to do instead (part of #2831)