This walks through the validation layer cake in ASP.NET Core, from DataAnnotations up through FluentValidation and options validation at startup. You get decision trees for picking the right approach (simple attributes vs IValidatableObject vs custom ValidationAttribute), tables of built-in attributes including the .NET 8 additions like AllowedValues and Base64String, and working examples of cross-property validation and MediatR pipeline behaviors. The IValidateOptions pattern for catching bad configuration at startup is especially worth having around. It's comprehensive enough that you'll reference it when setting up validation in a new project or when you need to remember the syntax for custom validators that need database access.
npx skills add https://github.com/wshaddix/dotnet-skills --skill validation-patterns