fluentvalidation-patterns

Provide reusable FluentValidation patterns for ABP DTO validation.

Updated Jan 23, 2026
One-click install
npx skills add https://github.com/alexsandrocruz/DominusLeads --skill fluentvalidation-patterns-alexsandrocruz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fluentvalidation-patterns
Source: https://github.com/alexsandrocruz/DominusLeads/tree/main/backend/Sapienza.Leads/.claude/skills/fluentvalidation-patterns
Command: npx skills add https://github.com/alexsandrocruz/DominusLeads --skill fluentvalidation-patterns-alexsandrocruz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides reusable FluentValidation patterns tailored for the ABP framework to streamline input DTO validation, enabling async checks, repository existence validation, conditional rules, localization, and custom validators across modules.

Core Features & Use Cases

  • Async validation patterns: common MustAsync rules against repositories to enforce data integrity during Create/Update flows.
  • Conditional & complex rules: When/Unless scenarios and multi-condition validations across DTOs.
  • Localization-ready messages: Integrates with ABP localization resources for user-friendly error messages.
  • Reusable custom validators: Extensible validators and extension methods for cross-cutting validation concerns.
  • ABP integration: How to wire validators into the ABP module and auto-register across application services.

Quick Start

Create a CreateUpdateUserDtoValidator that demonstrates NotEmpty, EmailAddress, and an async uniqueness check using IRepository<User, Guid>. Register validators in the ApplicationModule by scanning the assembly and enable FluentValidation auto-validation so incoming DTOs are validated automatically.

Frequently Asked Questions about fluentvalidation-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate DTOs asynchronously in ABP using FluentValidation?

To validate DTOs asynchronously in ABP using FluentValidation, you implement MustAsync rules within your validator classes to perform repository checks. This enforces data integrity during Create and Update workflows by querying the database before processing inputs.

How do I set up FluentValidation auto-validation for ABP application services?

You set up FluentValidation auto-validation in ABP by registering validators within your ApplicationModule. Scan the assembly for validators and enable auto-validation so incoming DTOs are validated automatically before reaching your application services.

Can I use localized error messages with FluentValidation in ABP?

Yes, you can use localized error messages with FluentValidation in ABP. The patterns integrate directly with ABP localization resources, allowing you to provide user-friendly, multilingual validation errors across different application modules.

What is the best way to handle conditional validation rules across multiple DTOs?

The best way to handle conditional validation rules across multiple DTOs is using When and Unless scenarios. These patterns allow you to enforce multi-condition validations, ensuring complex rules only trigger when specific criteria are met.

Does FluentValidation support repository existence checks for ABP Create and Update workflows?

Yes, FluentValidation supports repository existence checks for ABP workflows. By using async validation patterns with IRepository, you can verify entity existence and uniqueness during Create and Update operations to maintain strict data integrity.

How do I create reusable custom validators for cross-cutting validation concerns?

You create reusable custom validators by building extensible validators and extension methods. This approach standardizes cross-cutting validation concerns across ABP modules, ensuring consistent and testable input validation logic throughout your application.