abp-validationlisted
Install: claude install-skill burakdmir/abp-skills
# ABP Validation Skill
## Trigger
Validation, DTO validation, FluentValidation, IValidatableObject, validation errors, AbpValidationException, input validation.
---
## Quick Reference
### Data Annotations
```csharp
public class CreateBookDto
{
[Required] [StringLength(100)] public string Name { get; set; }
[Range(0, 999.99)] public decimal Price { get; set; }
}
```
Auto-validated on app service/controller call.
### IValidatableObject
```csharp
public class CreateBookDto : IValidatableObject
{
public IEnumerable<ValidationResult> Validate(ValidationContext ctx)
{
var results = new List<ValidationResult>();
if (Price <= 0) results.Add(new ValidationResult("Price > 0", new[] { nameof(Price) }));
return results;
}
}
```
Resolve services: `ctx.GetRequiredService<IMyService>()`
### FluentValidation
```bash
abp add-package Volo.Abp.FluentValidation
```
```csharp
public class CreateBookDtoValidator : AbstractValidator<CreateBookDto>
{
public CreateBookDtoValidator()
{
RuleFor(x => x.Name).Length(3, 10);
RuleFor(x => x.Price).ExclusiveBetween(0.0f, 999.0f);
}
}
```
Auto-discovered, associated with DTO type.
### IValidationEnabled
```csharp
public class MyService : ITransientDependency, IValidationEnabled
{
public virtual async Task DoItAsync(MyInput input) { }
}
```
Method must be `virtual` or use interface injection.
### Validation Error Respon