You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been exploring this space with an experimental, open-source validation source generator called Sannr. It's not a competitor to Microsoft.Extensions.Validation — it's a personal research project building in the open.
Async validation is supported today in Sannr:
publicpartialclassUserRegistration{[CustomValidator(typeof(UserRules),nameof(UserRules.IsUniqueAsync),IsAsync=true)]publicstringEmail{get;set;}}publicstaticclassUserRules{publicstaticasyncTask<ValidationResult>IsUniqueAsync(stringemail,IServiceProvidersp){vardb=sp.GetRequiredService<AppDbContext>();boolexists=awaitdb.Users.AnyAsync(u =>u.Email==email);returnexists?ValidationResult.Error("Email is already taken."):ValidationResult.Success();}}
Activity
danroth27 commentedon Feb 10, 2026
@SamMonoRT I assume this should go to @halter73 at this point.
Digvijay commentedon Mar 11, 2026
I've been exploring this space with an experimental, open-source validation source generator called Sannr. It's not a competitor to Microsoft.Extensions.Validation — it's a personal research project building in the open.
Async validation is supported today in Sannr:
Youssef1313 commentedon Apr 27, 2026
Related: dotnet/designs#363
CoreDX9 commentedon Jul 23, 2026
Is MVC support included in the plan?