CreatePolicyTaskRequestValidator¶
A FluentValidation AbstractValidator<CreatePolicyTaskRequest> that confirms a policy-task creation request references a real policy and carries a valid due date and non-empty, length-bounded task text. It depends on ITaskQueryProvider to confirm the requested policy number resolves to an actual policy.
Purpose¶
- Rejects requests whose
PolicyNumberdoes not resolve to an existing policy viaITaskQueryProvider.PolicyQueries.GetPolicy. - Rejects requests with an unset (
DateTime.MinValue) due date. - Rejects requests with null/empty text or text exceeding 4000 characters.
Context¶
- Namespace:
SAIF.Services.Tasks.Validators - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| CreatePolicyTaskRequestValidator(...) | public CreatePolicyTaskRequestValidator(ITaskQueryProvider provider) |
Registers FluentValidation rules for PolicyNumber (must resolve to an existing policy), TaskDate (required), and TaskText (required, max 4000 characters) against the injected task query provider. |
Behavioral notes¶
- Unlike
TaskValidator<TTask>, this validator does not check that the due date falls on a working day — it only checks that it is set — so working-day enforcement for policy-task requests happens elsewhere (or not at all) for this specific request type*. - This validator is instantiated by
TaskValidatorFactoryspecifically forCreatePolicyTaskRequest, and is used byTaskFactoryviaIValidationService.Validatebefore a marketing or underwriting task is created.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
- Services/SAIF.Services/Tasks/Validators/CreatePolicyTaskRequestValidator.cs