Class AddressValidationDataSettings
- Namespace
- SEBT.Portal.Core.AppSettings
- Assembly
- SEBT.Portal.Core.dll
Per-state address validation data loaded from appsettings.{state}.json.
Contains blocked address lists, street abbreviation mappings, and length constraints
that vary by state. Empty defaults allow states without these constraints to run
without additional configuration.
public sealed class AddressValidationDataSettings : IHaveConfigSectionName
- Inheritance
-
objectAddressValidationDataSettings
- Implements
Properties
BlockedAddressFile
File name of a blocked-address CSV embedded in the Infrastructure assembly from its
BlockedAddresses folder (e.g. co-undeliverable-addresses.csv). Leave unset
when the state has no such file. A name that matches no embedded file fails startup.
public string? BlockedAddressFile { get; set; }
Property Value
- string
BlockedAddresses
Addresses where the state cannot deliver mail (e.g., government office buildings used as default addresses). Matched after street type normalization, so both "645 H St NE" and "645 H Street NE" will match.
public string[] BlockedAddresses { get; set; }
Property Value
- string[]
MaxStreetAddressLength
Maximum allowed length for street address line 1, enforced by the card vendor. Set to 0 to disable the length check (default). When set, addresses exceeding this limit trigger abbreviation lookup or rejection.
[Range(0, 2147483647, ErrorMessage = "AddressValidationData:MaxStreetAddressLength must not be negative; use 0 to disable the length check.")]
public int MaxStreetAddressLength { get; set; }
Property Value
- int
SectionName
public static string SectionName { get; }
Property Value
- string
StreetAbbreviations
Maps long street names to abbreviated forms for addresses that exceed MaxStreetAddressLength. When a match is found and the abbreviated result fits within the limit, the service returns a suggestion instead of rejecting.
public Dictionary<string, string> StreetAbbreviations { get; set; }
Property Value
- Dictionary<string, string>