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()); }
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"; } }); }
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")); }); }
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; }
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")); }); }