Example #1
0
        protected ResourceValidatorBase(
            ScimServerConfiguration serverConfiguration,
            ResourceExtensionValidators extensionValidators)
        {
            _ServerConfiguration = serverConfiguration;
            _ExtensionValidators = extensionValidators;

            CascadeMode = CascadeMode.StopOnFirstFailure;

            // Virtual member call from ctor but derived types should not require
            // construction to configure rulesets. This MAY be short-sighted, however,
            // dependencies should not need to be used during construction; but referenced from
            // lambdas defined during construction yet invoked during validation.
            // -DGioulakis
            RuleSet("default", ConfigureDefaultRuleSet);
            RuleSet("create", ConfigureCreateRuleSet);
            RuleSet("update", ConfigureUpdateRuleSet);

            When(res => res.Extensions != null && res.Extensions.Any(),
                 () =>
            {
                RuleFor(res => res.Extensions)
                .NestedRules(v =>
                             v.When(ext => ext.Value != null, () =>
                {
                    v.RuleFor(ext => ext.Value)
                    .SetValidatorNonGeneric(ext => _ExtensionValidators[ext.Value.SchemaIdentifier]);
                }));
            });
        }
 public CustomUserValidator(
     ScimServerConfiguration serverConfiguration, 
     ResourceExtensionValidators extensionValidators, 
     IUserRepository userRepository, 
     IManagePasswords passwordManager) 
     : base(serverConfiguration, extensionValidators, userRepository, passwordManager)
 {
 }