public CreateReplyValidator(IForumRules forumRules, ITopicRules topicRules)
        {
            RuleFor(c => c.Content)
            .NotEmpty().WithMessage("Reply content is required.");

            RuleFor(c => c.ForumId)
            .MustAsync((c, p, cancellation) => forumRules.IsValidAsync(c.SiteId, p))
            .WithMessage(c => $"Forum with id {c.ForumId} does not exist.");

            RuleFor(c => c.TopicId)
            .MustAsync((c, p, cancellation) => topicRules.IsValidAsync(c.SiteId, c.ForumId, p))
            .WithMessage(c => $"Topic with id {c.ForumId} does not exist.");
        }
예제 #2
0
        public CreateTopicValidator(IForumRules forumRules)
        {
            RuleFor(c => c.Title)
            .NotEmpty().WithMessage("Topic title is required.")
            .Length(1, 100).WithMessage("Topic title must be at least 1 and at max 100 characters long.");

            RuleFor(c => c.Slug)
            .Length(1, 50).WithMessage("Topic slug must be at max 50 characters long.")
            .When(c => !string.IsNullOrWhiteSpace(c.Slug));

            RuleFor(c => c.Content)
            .NotEmpty().WithMessage("Topic content is required.");

            RuleFor(c => c.ForumId)
            .MustAsync((c, p, cancellation) => forumRules.IsValidAsync(c.SiteId, p))
            .WithMessage(c => $"Forum with id {c.ForumId} does not exist.");
        }