Update RegisterWindow.xaml.cs
valiedierung
This commit is contained in:
		@@ -4,6 +4,7 @@ using System.Collections.Generic;
 | 
				
			|||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
using System.Net.Http;
 | 
					using System.Net.Http;
 | 
				
			||||||
using System.Text;
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Text.RegularExpressions;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
using System.Windows;
 | 
					using System.Windows;
 | 
				
			||||||
using System.Windows.Controls;
 | 
					using System.Windows.Controls;
 | 
				
			||||||
@@ -14,8 +15,6 @@ using System.Windows.Media;
 | 
				
			|||||||
using System.Windows.Media.Imaging;
 | 
					using System.Windows.Media.Imaging;
 | 
				
			||||||
using System.Windows.Navigation;
 | 
					using System.Windows.Navigation;
 | 
				
			||||||
using System.Windows.Shapes;
 | 
					using System.Windows.Shapes;
 | 
				
			||||||
using System.Net.Http;
 | 
					 | 
				
			||||||
using Newtonsoft.Json;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace bib_talk
 | 
					namespace bib_talk
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -38,9 +37,10 @@ namespace bib_talk
 | 
				
			|||||||
                DragMove();
 | 
					                DragMove();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void Login_Click(object sender, RoutedEventArgs e)
 | 
					        private void Login_Click(object sender, RoutedEventArgs e)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Login login= new Login();
 | 
					            Login login = new Login();
 | 
				
			||||||
            login.Show();
 | 
					            login.Show();
 | 
				
			||||||
            this.Close();
 | 
					            this.Close();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -49,9 +49,17 @@ namespace bib_talk
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            if (checkboxAGB.IsChecked == true)
 | 
					            if (checkboxAGB.IsChecked == true)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                RegisterServer();
 | 
					                if (ValidateRegistration())
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    RegisterServer();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                MessageBox.Show("Bitte akzeptieren Sie die AGB.");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void CheckBox_Checked(object sender, RoutedEventArgs e)
 | 
					        private void CheckBox_Checked(object sender, RoutedEventArgs e)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF6332A0"));
 | 
					            SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF6332A0"));
 | 
				
			||||||
@@ -63,7 +71,48 @@ namespace bib_talk
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF323134"));
 | 
					            SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF323134"));
 | 
				
			||||||
            weiterbutton.Foreground = Brushes.Gray;
 | 
					            weiterbutton.Foreground = Brushes.Gray;
 | 
				
			||||||
            weiterbutton.Background= customBrush;
 | 
					            weiterbutton.Background = customBrush;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private bool ValidateRegistration()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string username = usernbox.Text;
 | 
				
			||||||
 | 
					            string password = passwordbox.Password;
 | 
				
			||||||
 | 
					            string email = emailbox.Text;
 | 
				
			||||||
 | 
					            string day = bday1.Text;
 | 
				
			||||||
 | 
					            string month = bday2.Text;
 | 
				
			||||||
 | 
					            string year = bday3.Text;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Benutzername validieren
 | 
				
			||||||
 | 
					            if (string.IsNullOrWhiteSpace(username) || username.Length < 3)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                MessageBox.Show("Der Benutzername muss mindestens 3 Zeichen lang sein.");
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Passwort validieren
 | 
				
			||||||
 | 
					            if (string.IsNullOrWhiteSpace(password) || password.Length < 6 || !Regex.IsMatch(password, @"^(?=.*[A-Za-z])(?=.*\d).{6,}$"))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                MessageBox.Show("Das Passwort muss mindestens 6 Zeichen lang sein und sowohl Buchstaben als auch Zahlen enthalten.");
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // E-Mail validieren
 | 
				
			||||||
 | 
					            if (string.IsNullOrWhiteSpace(email) || !Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                MessageBox.Show("Bitte geben Sie eine gültige E-Mail-Adresse ein.");
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Geburtsdatum validieren
 | 
				
			||||||
 | 
					            if (!int.TryParse(day, out int dayInt) || !int.TryParse(month, out int monthInt) || !int.TryParse(year, out int yearInt) ||
 | 
				
			||||||
 | 
					                !DateTime.TryParse($"{yearInt}-{monthInt}-{dayInt}", out DateTime birthDate) || birthDate > DateTime.Now.AddYears(-14))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                MessageBox.Show("Bitte geben Sie ein gültiges Geburtsdatum ein. Sie müssen mindestens 18 Jahre alt sein.");
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task RegisterServer()
 | 
					        public async Task RegisterServer()
 | 
				
			||||||
@@ -71,8 +120,8 @@ namespace bib_talk
 | 
				
			|||||||
            string username = usernbox.Text;
 | 
					            string username = usernbox.Text;
 | 
				
			||||||
            string password = passwordbox.Password;
 | 
					            string password = passwordbox.Password;
 | 
				
			||||||
            string email = emailbox.Text;
 | 
					            string email = emailbox.Text;
 | 
				
			||||||
            string birthday = bday1.Text+"."+bday2.Text+"."+bday3.Text;
 | 
					            string birthday = $"{bday1.Text}.{bday2.Text}.{bday3.Text}";
 | 
				
			||||||
            var newUser = new { Username = username, Password = password, Email = email, Birthday = birthday, IsOnline = ""};
 | 
					            var newUser = new { Username = username, Password = password, Email = email, Birthday = birthday, IsOnline = "" };
 | 
				
			||||||
            string json = JsonConvert.SerializeObject(newUser);
 | 
					            string json = JsonConvert.SerializeObject(newUser);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            using (var client = new HttpClient())
 | 
					            using (var client = new HttpClient())
 | 
				
			||||||
@@ -82,11 +131,11 @@ namespace bib_talk
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                if (response.IsSuccessStatusCode)
 | 
					                if (response.IsSuccessStatusCode)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    MessageBox.Show("Registration Succesful");
 | 
					                    MessageBox.Show("Registrierung erfolgreich.");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    MessageBox.Show("Registration failed."+ response);
 | 
					                    MessageBox.Show("Registrierung fehlgeschlagen. " + response);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user