public ClaimSetFileImportModelValidator(ISecurityContext securityContext) { RuleFor(m => m.ImportFile).NotEmpty(); When(m => m.ImportFile != null, () => { RuleFor(x => x) .SafeCustom((model, context) => { var validator = new SharingModelValidator(securityContext, context.PropertyName); context.AddFailures(validator.Validate(model.AsSharingModel())); }); }); }
public ClaimSetFileImportModelValidator(ISecurityContext securityContext) { RuleFor(m => m.ImportFile).NotEmpty(); When(m => m.ImportFile != null, () => { RuleFor(x => x) .SafeCustom((model, context) => { var validator = new SharingModelValidator(securityContext, context.PropertyName); if (Path.GetExtension(model.ImportFile.FileName)?.ToLower() != ".json") { context.AddFailure("Invalid file extension. Only '*.json' files are allowed."); } else { context.AddFailures(validator.Validate(model.AsSharingModel())); } }); }); }