Esempio n. 1
0
 public Task <IdentityResult> ValidateAsync(string item)
 {
     _password = item;
     try
     {
         // Setup Chain of Responsibiity
         IValidatorNode passwordValidator = SetupValidatorSequence();
         if (!passwordValidator.Validate(this))
         {
             return(Task.FromResult <IdentityResult>(IdentityResult.Failed(errors.ToArray())));
         }
     }
     catch (Exception)
     {
         throw;
     }
     return(Task.FromResult <IdentityResult>(IdentityResult.Success));
 }
Esempio n. 2
0
        public IValidatorNode SetupValidatorSequence()
        {
            IValidatorNode rootNode = null;

            try
            {
                IValidatorNode node = new RequirePassword();
                rootNode = node;
                if (RequireLowercase)
                {
                    node = node.SetNextNode(new RequireLowerCaseValidator());
                }
                if (RequireDigit)
                {
                    node = node.SetNextNode(new RequireDigitValidator());
                }
                if (RequiredLength > 0)
                {
                    node = node.SetNextNode(new RequiredLengthValidator());
                }
                if (RequireNonLetterOrDigit)
                {
                    node = node.SetNextNode(new RequireNonLetterorDigitValidator());
                }
                if (RequireLowercase)
                {
                    node = node.SetNextNode(new RequireLowerCaseValidator());
                }
                if (RequireUppercase)
                {
                    node = node.SetNextNode(new RequireUpperCaseValidator());
                }
                return(rootNode);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 3
0
 public IValidatorNode SetNextNode(IValidatorNode node)
 {
     this.nextValidator = node;
     return(node);
 }