SkyTeam/Regestrieren.xaml.cs aktualisiert
This commit is contained in:
@@ -64,6 +64,11 @@ namespace SkyTeam
|
||||
cmd.Parameters.AddWithValue("@email", emailToCheck);
|
||||
cmd.Parameters.AddWithValue("@password", hashedPassword);
|
||||
cmd.Parameters.AddWithValue("@stadt", CityTextBox.Text);
|
||||
// Quelle: Microsoft Learn - "DBNull.Value Field"
|
||||
// Link: https://learn.microsoft.com/en-us/dotnet/api/system.dbnull.value
|
||||
// Wenn optionale Felder (wie Anrede oder Geburtsdatum) leer bleiben,
|
||||
// können wir nicht einfach 'null' in C# übergeben. Die Datenbank erwartet explizit
|
||||
// das Objekt 'DBNull.Value', damit die Spalte korrekt als NULL markiert wird
|
||||
cmd.Parameters.AddWithValue("@anrede", selectedAnrede ?? (object)DBNull.Value);
|
||||
cmd.Parameters.AddWithValue("@geburtsdatum", selectedDate.HasValue ? selectedDate.Value : (object)DBNull.Value);
|
||||
|
||||
@@ -72,7 +77,11 @@ namespace SkyTeam
|
||||
}
|
||||
|
||||
MessageBox.Show("Dein Konto wurde erfolgreich angelegt!");
|
||||
|
||||
// Quelle: AI Assistant (Gemini)
|
||||
// Idee: Navigation aus einer Page heraus, die in einem Frame gehostet wird.
|
||||
// Kommentar: Die KI hat darauf hingewiesen, dass eine Page (wie die RegistrationPage)
|
||||
// nicht direkt navigieren sollte, wenn sie im MainFrame des MainWindows liegt.
|
||||
// Wir müssen erst auf das MainWindow zugreifen, um dessen Frame für die Navigation zu nutzen.
|
||||
if (Application.Current.MainWindow is MainWindow mainWindow)
|
||||
{
|
||||
mainWindow.MainFrame.Navigate(new LogInPage());
|
||||
@@ -99,6 +108,11 @@ namespace SkyTeam
|
||||
|
||||
try
|
||||
{
|
||||
// Quelle: Microsoft Learn - "How to verify that strings are in valid email format"
|
||||
// Link: https://learn.microsoft.com/en-us/dotnet/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format
|
||||
// Kommentar: Wir nutzen den offiziell empfohlenen Regex-Ausdruck von Microsoft,
|
||||
// kombiniert mit einem Timeout (250ms), um Denial-of-Service-Angriffe durch
|
||||
// extrem lange oder fehlerhafte Strings (ReDoS) zu verhindern.
|
||||
return Regex.IsMatch(email,
|
||||
@"^[^@\s]+@[^@\s]+\.[^@\s]+$",
|
||||
RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250));
|
||||
|
||||
Reference in New Issue
Block a user