Update RegisterWindow.xaml.cs
valiedierung
This commit is contained in:
parent
3d23c510d6
commit
5aa0055815
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user