private bool IsValid(string login, string password) { MainData.userID = -1; // Проверка на наличие такой пары логин/пароль в БД using (SqlConnection con = new SqlConnection("Data Source=192.168.1.65,1433;Initial Catalog=Test;User ID=Ragen; Password=utg1df25fu")) { con.Open(); using (SqlCommand com = con.CreateCommand()) { com.CommandText = string.Format("SELECT ID FROM Accounts WHERE Login = '******' AND Password = '******'", login, password); com.CommandType = CommandType.Text; SqlDataReader reader = com.ExecuteReader(); while (reader.Read()) { MainData.userID = reader.GetInt32(0); } reader.Close(); com.ExecuteNonQuery(); } con.Close(); } if (MainData.userID == -1) { MessageBox.Show("Логин или пароль введены неверно"); Login_TextBox.Focus(); Password_MTextBox.Text = ""; return(false); } // Введен ли логин if (Login_TextBox.Text == "") { MessageBox.Show("Введите логин"); Login_TextBox.Focus(); return(false); } // Введен ли пароль if (Password_MTextBox.Text == "") { MessageBox.Show("Введите пароль"); Password_MTextBox.Focus(); return(false); } return(true); }
// Проверка валидности вводимых данных private bool IsValid(string login, string name, string surname, string email, string password, string passwordConfirm) { // Регулярки для имени/фамилии, логина, пароля и Email string patternName = @"^[а-яА-ЯёЁa-zA-Z]+$"; string patternLogin = @"^[а-яА-ЯёЁa-zA-Z][а-яА-ЯёЁa-zA-Z0-9-_\.]{1,20}$"; string patternPassword = @"^[a-zA-Z0-9]+$"; string patternEmail = @"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$"; // Переменные для проверки уникальности логина и Email'a bool unicLog; bool unicEmail; // Проверка логина Match isMatch = Regex.Match(login, patternLogin, RegexOptions.IgnoreCase); if (!isMatch.Success) { MessageBox.Show("Логин должн содержать цифры и символы руского и/или латинского алфавита и начинаться с буквы."); Login_TextBox.Text = ""; Login_TextBox.Focus(); return(false); } // Проверка логина и Email на уникальность using (SqlConnection con = new SqlConnection("Data Source=192.168.1.65,1433;Initial Catalog=Test;User ID=Ragen; Password=utg1df25fu")) { con.Open(); using (SqlCommand com = con.CreateCommand()) { com.CommandText = string.Format("SELECT * FROM Accounts WHERE Login = '******'", login); com.CommandType = CommandType.Text; SqlDataReader readerLog = com.ExecuteReader(); unicLog = readerLog.HasRows; readerLog.Close(); com.CommandText = string.Format("SELECT * FROM Accounts WHERE Email = '{0}'", email); com.CommandType = CommandType.Text; SqlDataReader readerEmail = com.ExecuteReader(); unicEmail = readerEmail.HasRows; readerEmail.Close(); com.ExecuteNonQuery(); } con.Close(); } // Уникальность логина if (unicLog) { MessageBox.Show("Такой логин уже используется."); Login_TextBox.Text = ""; Login_TextBox.Focus(); return(false); } // Уникальность Email if (unicEmail) { MessageBox.Show("Такой Email уже используется."); Email_TextBox.Text = ""; Email_TextBox.Focus(); return(false); } // Проверка именни isMatch = Regex.Match(name, patternName, RegexOptions.IgnoreCase); if (!isMatch.Success) { MessageBox.Show("Имя должно содержать символы руского и/или латинского алфавита."); Name_TextBox.Text = ""; Name_TextBox.Focus(); return(false); } // Проверка фамилии isMatch = Regex.Match(surname, patternName, RegexOptions.IgnoreCase); if (!isMatch.Success) { MessageBox.Show("Фамилия должна содержать символы руского и/или латинского алфавита."); Surname_TextBox.Text = ""; Surname_TextBox.Focus(); return(false); } // Проверка email isMatch = Regex.Match(email, patternEmail, RegexOptions.IgnoreCase); if (!isMatch.Success) { MessageBox.Show("Некорректный Email"); Email_TextBox.Text = ""; Email_TextBox.Focus(); return(false); } // Проверка пароля isMatch = Regex.Match(password, patternPassword, RegexOptions.IgnoreCase); if (!isMatch.Success) { MessageBox.Show("Пароль должен содержать цифры и символы латинского алфавита."); Password_MTextBox.Text = ""; PasswordConfirm_MTextBox.Text = ""; Password_MTextBox.Focus(); return(false); } // Проверка на соответствия пароля и подтверждения пароля if (password != passwordConfirm) { MessageBox.Show("Поля пароля и подтверждения пароля не совпадают."); Password_MTextBox.Text = ""; PasswordConfirm_MTextBox.Text = ""; Password_MTextBox.Focus(); return(false); } // Проверка пройдена return(true); }