What problem does it solve?
ABP input validation fails inconsistently across DTOs and services, making it hard to enforce rules and return uniform, structured validation errors to clients.
Core Features & Use Cases
- Data Annotation validation on DTOs for declarative rules like required fields and string/number constraints.
- IValidatableObject for DTO-level custom validation when logic is tightly coupled to the DTO shape.
- FluentValidation + ABP auto-discovery to implement richer, cross-property validation rules in validator classes.
- IValidationEnabled interception to enforce validation automatically on DI-registered services, including the correct requirements for virtual methods.
- Standardized error handling via AbpValidationException and validationErrors JSON for reliable HTTP 400 responses.
Real-world use case: Validate Create/Update DTOs for an ABP application service so that invalid input (missing required fields, out-of-range numbers, or inconsistent property combinations) returns a consistent 400 response with field-level validationErrors.
Quick Start
Ask an AI to generate an ABP v10.4 DTO with Data Annotations plus a FluentValidation validator and explain how AbpValidationException will produce the correct validationErrors response.