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

# BillServiceValidator

FluentValidation validator for `BillServiceCode`, used as a nested validator by `LegalBillServiceValidator` to require that a bill service line specifies a non-empty service type code.

## Purpose
- Rejects a `BillServiceCode` whose `Code` is empty, ensuring every bill service line declares a service type.

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

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

## Behavioral notes
- Used exclusively as a composed/nested validator inside `LegalBillServiceValidator` 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/LegalBillServiceValidator.cs`
