LegalNoteValidator¶
FluentValidation validator for LegalNote, enforcing required non-empty text within a 4000-character limit, that appended text (including a computed date/user header) does not push the combined text over 4000 characters, that the note's category passes the nested LegalNoteCategoryValidator, and that a case ID is specified.
Purpose¶
- Requires note
Textto be non-empty and no more than 4000 characters. - Validates that appending
AppendText(plus a computed date/user/static-character header) would not cause the combined note text to exceed 4000 characters. - Delegates category validation to
LegalNoteCategoryValidator, requiring a non-empty category code. - Requires a non-zero
CaseId.
Context¶
- Namespace:
SAIF.Services.Legal.Notes.Validators - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package).
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| LegalNoteValidator (constructor) | public LegalNoteValidator(IUserProfileService userProfileService) |
Stores the user-profile service (used to compute the current user's ID length for the append-text header calculation) and configures the FluentValidation rules for Text, AppendText, Category, and CaseId. |
Behavioral notes¶
HasValidAppendTextLengthcomputes an estimated header length (date length + current user ID length + 18 static characters) and requires the combined length of existing text, append text, and header to stay at or under 4000 characters; anullappend text is always considered valid (no append requested).- The date-length component of the header calculation uses the note's existing
UpdateDatewhen present, otherwise falls back to a fixed length constant (DefaultUserLength, reused here for the date-length default) rather than a true default date-format length.*
Constraints and usage notes¶
- Carries a
CA1710:IdentifiersShouldHaveCorrectSuffixsuppression, since FluentValidation's naming convention ("Validator") does not match theIValidatorinterface-suffix rule.* - Requires a constructed
IUserProfileServiceto evaluate theAppendTextlength rule, coupling this validator to a resolvable current-user context rather than pure data rules.*
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/Legal/Notes/Validators/LegalNoteValidator.cs