using System; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using Tapeti.Config; namespace Tapeti.DataAnnotations { /// /// /// Validates published messages using System.ComponentModel.DataAnnotations /// public class DataAnnotationsPublishMiddleware : IPublishMiddleware { /// public Task Handle(IPublishContext context, Func next) { var validationContext = new ValidationContext(context.Message); Validator.ValidateObject(context.Message, validationContext, true); return next(); } } }