public AddVersionValidator(ITextModuleRules textModuleRules, IModuleRules moduleRules, ISiteRules siteRules, ILanguageRules languageRules, IValidator <AddVersion.VersionLocalisation> localisationValidator) { _textModuleRules = textModuleRules; _moduleRules = moduleRules; _siteRules = siteRules; _languageRules = languageRules; _localisationValidator = localisationValidator; RuleFor(c => c.ModuleId) .NotEmpty().WithMessage("Module id is required.") .Must(BeAnExistingModule).WithMessage("Module does not exist."); RuleFor(c => c.SiteId) .NotEmpty().WithMessage("Site id is required.") .Must(BeAnExistingSite).WithMessage("Site does not exist."); RuleFor(c => c.Content) .NotEmpty().WithMessage("Content is required."); RuleFor(c => c.Description) .Length(1, 250).WithMessage("Description cannot be longer of 250 characters.") .When(c => !string.IsNullOrWhiteSpace(c.Description)); RuleFor(c => c.VersionLocalisations) .Must(IncludeAllSupportedLanguages).WithMessage("All supported languages should be included."); RuleFor(c => c.VersionLocalisations) .SetCollectionValidator(_localisationValidator); }
public CreateTextModuleValidator(ITextModuleRules textModuleRules, IModuleRules moduleRules, ISiteRules siteRules) : base(siteRules) { _textModuleRules = textModuleRules; _moduleRules = moduleRules; RuleFor(c => c.Id) .NotEmpty().WithMessage("Id is required.") .Must(HaveUniqueId).WithMessage("An text with the same id already exists."); RuleFor(c => c.ModuleId) .NotEmpty().WithMessage("Module id is required.") .Must(BeAnExistingModule).WithMessage("Module does not exist."); RuleFor(c => c.Content) .NotEmpty().WithMessage("Content is required."); }