コード例 #1
0
        public override IValidationResult Validate(string userName)
        {
            List <string> errors  = new List <string>();
            bool          isValid = true;

            if (string.IsNullOrEmpty(userName) || string.IsNullOrWhiteSpace(userName))
            {
                errors.Add(_resourceManager.GetString("UsernameCannotBeEmpty"));
                return(new ValidationResult(false, errors));
            }
            if (userName.Length < MinUsernameLength || userName.Length > MaxUsernameLength)
            {
                isValid = false;
                errors.Add(string.Format(_resourceManager.GetString("UsernameLengthMustBeInRange"),
                                         MinUsernameLength, MaxUsernameLength));
            }
            MembershipSetting setting = _settingManager.GetContainer <MembershipSetting>().Default;

            if (setting != null)
            {
                if (setting.AllowOnlyAlphanumericUserNames && !userName.All(char.IsLetterOrDigit))
                {
                    isValid = false;
                    errors.Add(_resourceManager.GetString("UsernameCanBeOnlyAlphanumeric"));
                }
            }
            if (userName.Any(c => !AllowedUserNameCharacters.Contains(c)))
            {
                isValid = false;
                errors.Add(_resourceManager.GetString("InvalidUsername"));
            }

            return(new ValidationResult(isValid, errors));
        }
コード例 #2
0
        /// <summary>
        /// Validates password according to the membership password validation settings.
        /// </summary>
        /// <param name="password">Password to be valited</param>
        /// <returns>ValidationResult</returns>
        public override IValidationResult Validate(string password)
        {
            List <string> errors  = new List <string>();
            bool          isValid = true;

            if (string.IsNullOrEmpty(password) || password.Any(char.IsWhiteSpace))
            {
                errors.Add(_resourceManager.GetString("PasswordCannotBeEmpty"));
                return(new ValidationResult(false, errors));
            }
            MembershipSetting setting = _settingManager.GetContainer <MembershipSetting>().Default;

            if (setting != null)
            {
                if (setting.MinimumPasswordRequiredLength > password.Length)
                {
                    isValid = false;
                    errors.Add(string.Format(_resourceManager.GetString("PasswordTooShort"),
                                             setting.MinimumPasswordRequiredLength));
                }
                if (setting.RequireDigitInPassword && !password.Any(char.IsDigit))
                {
                    isValid = false;
                    errors.Add(_resourceManager.GetString("PasswordRequiresDigit"));
                }
                if (setting.RequireLowercaseInPassword && !password.Any(char.IsLower))
                {
                    isValid = false;
                    errors.Add(_resourceManager.GetString("PasswordRequiresLower"));
                }
                if (setting.RequireLowercaseInPassword && !password.Any(char.IsLower))
                {
                    isValid = false;
                    errors.Add(_resourceManager.GetString("PasswordRequiresLower"));
                }
                if (setting.RequireNonLetterOrDigitInPassword && password.All(char.IsLetterOrDigit))
                {
                    isValid = false;
                    errors.Add(_resourceManager.GetString("PasswordRequiresNonAlphanumeric"));
                }
                if (setting.RequireUppercaseInPassword && !password.Any(char.IsUpper))
                {
                    isValid = false;
                    errors.Add(_resourceManager.GetString("PasswordRequiresUpper"));
                }
            }
            return(new ValidationResult(isValid, errors));
        }