---
title: BillStatusValidator
summary: API reference for BillStatusValidator.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Services
reference_type: package
---

# BillStatusValidator

FluentValidation validator for `BillStatus`, used as a nested validator by `LegalBillValidator` to require that a legal bill's status code is non-empty.

## Purpose
- Rejects a `BillStatus` whose `Code` is empty, ensuring every saved bill has a defined status.

## Context
- Namespace: `SAIF.Services.Legal.Bills`
- Assembly/package: `SAIF.Services` (packaged inside the `SAIF.SAIFCode.Core` NuGet package).

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| BillStatusValidator (constructor) | `public BillStatusValidator()` | Configures a single FluentValidation rule requiring `Code` to be non-empty. |

## Behavioral notes
- Used exclusively as a composed/nested validator inside `LegalBillValidator` rather than being resolved independently through DI.*

## Constraints and usage notes
- Carries a `CA1710:IdentifiersShouldHaveCorrectSuffix` suppression, since FluentValidation's naming convention ("Validator") does not match the `IValidator` interface-suffix rule.*

> **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/Bills/LegalBillValidator.cs`
