Beispiel #1
0
        public void Validate(string fieldName, dynamic fieldValue)
        {
            if (fieldValue != null)
            {
                if (fieldValue.GetType() == typeof(string))
                {
                    var caracteres  = ((string)fieldValue)?.ToArray();
                    var regex       = new Regex("^[a-zA-Z0-9 ]*$");
                    var isNumber    = true;
                    var isUpperCase = true;
                    var isSpecial   = false;

                    foreach (var item in caracteres ?? new char[] { })
                    {
                        if (_hasNumber && isNumber)
                        {
                            isNumber = char.IsDigit(item);
                        }

                        if (_hasUperCase)
                        {
                            isUpperCase = char.IsUpper(item);
                        }

                        if (_hasSpecialChar)
                        {
                            isSpecial = regex.IsMatch(item.ToString());
                        }
                    }

                    if (!isNumber)
                    {
                        _roleBuilder.AddErrorMessage(fieldName, ValidationMessage.PasswordNumericChar(fieldName));
                    }

                    if (!isUpperCase)
                    {
                        _roleBuilder.AddErrorMessage(fieldName, ValidationMessage.PasswordNumericChar(fieldName));
                    }

                    if (!isSpecial)
                    {
                        _roleBuilder.AddErrorMessage(fieldName, ValidationMessage.PasswordNumericChar(fieldName));
                    }
                }
            }
        }