コード例 #1
0
        public bool Validate(string password, out IList <string> errorMessages)
        {
            if (password == null)
            {
                password = "";
            }
            errorMessages = new List <string>();

            if (Settings == null)
            {
                return(true);
            }
            if (Settings.AllowEmpty && String.IsNullOrEmpty(password))
            {
                return(true);
            }

            if (password.Length > Settings.MaxLength)
            {
                errorMessages.Add(
                    $"Пароль слишком длинный (максимум: {Settings.MaxLength} {NumberToTextRus.Case(Settings.MaxLength, "символ", "символа", "символов")})");
            }
            if (password.Length < Settings.MinLength)
            {
                errorMessages.Add($"Пароль слишком короткий (минимум: {Settings.MinLength} {NumberToTextRus.Case(Settings.MinLength, "символ", "символа", "символов")})");
            }
            if (password.Contains(" ") && !Settings.AllowWhitespaces)
            {
                errorMessages.Add("Пароль не должен содержать пробелов");
            }
            if (password.Contains("\n") || password.Contains("\r\n"))
            {
                errorMessages.Add("Пароль не должен содержать символ переноса строки");
            }
            if (Settings.NotAllowedStrings != null && Settings.NotAllowedStrings.Any(password.Contains))
            {
                errorMessages.Add($"Пароль не должен содержать запрещённые символы и слова ( {String.Join(" ", Settings.NotAllowedStrings)} )");
            }
            if (Settings.ASCIIOnly && !StringValidationHelper.ContainsOnlyASCIICharacters(password))
            {
                errorMessages.Add("Пароль должен содержать только цифры, спец. символы и буквы англ. алфавита");
            }
            if (Settings.MinNumberCount != 0 && password.Count(Char.IsNumber) < Settings.MinNumberCount)
            {
                errorMessages.Add($"Пароль должен содержать минимум {Settings.MinNumberCount} {NumberToTextRus.Case(Settings.MinNumberCount, "цифру", "цифры", "цифр")}");
            }
            if (Settings.MinOtherCharactersCount != 0 && password.Count(x => !Char.IsLetterOrDigit(x)) < Settings.MinOtherCharactersCount)
            {
                errorMessages.Add($"Пароль должен содержать минимум {Settings.MinOtherCharactersCount} спец. {NumberToTextRus.Case(Settings.MinOtherCharactersCount, "символ", "символа", "символов")} ( . + - * : ? и др.)");
            }
            if (Settings.MinLetterSameCaseCount != 0 &&
                (password.Count(Char.IsUpper) < Settings.MinLetterSameCaseCount || password.Count(Char.IsLower) < Settings.MinLetterSameCaseCount)
                )
            {
                errorMessages.Add(
                    $"Пароль должен содержать минимум {Settings.MinLetterSameCaseCount} {NumberToTextRus.Case(Settings.MinLetterSameCaseCount, "прописную", "прописных", "прописных")} " +
                    $"и {Settings.MinLetterSameCaseCount} {NumberToTextRus.Case(Settings.MinLetterSameCaseCount, "строчную", "строчных", "строчных")} буквы");
            }
            return(!errorMessages.Any());
        }
コード例 #2
0
 public RegisterPageViewModel()
 {
     RegisterCommand = new Command(async() =>
     {
         var x = User.Name;
         var y = User.Email;
         var z = User.Password;
         var w = User.ConfirmPassword;
         //Validacion de que campos no estan vacios
         if (StringValidationHelper.ValidateField(x, y, z, w))
         {
             DisplayError = "Please complete all the fields to register";
         }
         //Valida que las contrasenas sean la misma
         else if (StringValidationHelper.ValidatePassword(z, w))
         {
             DisplayError = "Please check your password, they are not matching!";
         }
         //Valida que el email introducido es valido
         else if (StringValidationHelper.ValidateEmail(y))
         {
             await App.Current.MainPage.Navigation.PushAsync(new HomePage());
         }
         //Mensaje de error si la informacion no es valida
         else
         {
             DisplayError = "Please enter valid information";
         }
     });
 }
コード例 #3
0
        public LoginPageViewModel()
        {
            LoginCommand = new Command(async() =>
            {
                var x = User.Email;
                var y = User.Password;
                //Valida que el email y password no esten vacios
                if (StringValidationHelper.ValidateField(x, y))
                {
                    DisplayError = "Please enter email address and password";
                }
                //Valida que el email introducido es valido y si es valido nos lleva a HommePage
                else if (StringValidationHelper.ValidateEmail(x))
                {
                    await App.Current.MainPage.Navigation.PushAsync(new ContactListPage());
                }
                else
                {
                    //Mensaje de invalid credenctials
                    DisplayError = "Please enter valid email address and password";
                }
            });

            GoSony = new Command(() =>
            {
                Device.OpenUri(new Uri("https://id.sonyentertainmentnetwork.com/id/reset_password/?request_locale=en_US#/reset_password/change?entry=%2Freset_password"));
            });
        }
コード例 #4
0
        void SetKey(string key)
        {
            if (string.IsNullOrWhiteSpace(key))
            {
                throw new ArgumentNullException("key");
            }

            if (!StringValidationHelper.IsBase64String(key))
            {
                throw new ArgumentException("Key must be Base64 encoded");
            }

            this.key = key;
        }
コード例 #5
0
        public LoginPageViewModel()
        {
            LoginCommand = new Command(async() =>
            {
                var x = User.Email;
                var y = User.Password;
                //Valida que el email y password no esten vacios
                if (string.IsNullOrEmpty(User.Email) || string.IsNullOrEmpty(User.Password))
                {
                    DisplayError = "Please enter email address and password";
                }
                //Valida que el email introducido es valido y si es valido nos lleva a HommePage
                else if (StringValidationHelper.ValidateEmail(x))
                {

                    await App.Current.MainPage.Navigation.PushAsync(new HomePage());
                }
                else
                {
                    //Mensaje de invalid credenctials
                    DisplayError = "Please enter valid email address and password";
                }
            });
            //Al ser presionado te lleva a la pagina de register
            RegisterCommand = new Command(async () =>
            {
                await App.Current.MainPage.Navigation.PushAsync(new RegisterPage());

            });
            //Al ser presionado te lleva hacia el navegador para un password reset
            GoSony = new Command(() =>
            {

               Device.OpenUri(new Uri("https://id.sonyentertainmentnetwork.com/id/reset_password/?request_locale=en_US#/reset_password/change?entry=%2Freset_password"));

            });
        }