import 'package:flutter/material.dart'; class RegisterPage extends StatefulWidget { const RegisterPage({Key? key}) : super(key: key); @override _RegisterPageState createState() => _RegisterPageState(); } class _RegisterPageState extends State { final _emailController = TextEditingController(); final _passwordController = TextEditingController(); final _confirmPasswordController = TextEditingController(); @override void dispose() { _emailController.dispose(); _passwordController.dispose(); _confirmPasswordController.dispose(); super.dispose(); } bool isValidEmail(String email) { // Die gleiche Validierung wie in Ihrer LoginPage return RegExp(r'^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$').hasMatch(email); } bool arePasswordsMatching(String password, String confirmPassword) { return password == confirmPassword; } @override Widget build(BuildContext context) { return Scaffold( body: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const SizedBox(height: 16), Padding( padding: const EdgeInsets.symmetric(horizontal: 32), child: Column( children: [ TextFormField( controller: _emailController, decoration: const InputDecoration( labelText: 'E-Mail', ), validator: (value) { if (value!.isEmpty) { return 'Bitte geben Sie eine E-Mail-Adresse ein.'; } else if (!isValidEmail(value)) { return 'Bitte geben Sie eine gültige E-Mail-Adresse ein.'; } return null; }, ), const SizedBox(height: 16), TextFormField( controller: _passwordController, obscureText: true, decoration: const InputDecoration( labelText: 'Passwort', ), ), const SizedBox(height: 16), TextFormField( controller: _confirmPasswordController, obscureText: true, decoration: const InputDecoration( labelText: 'Passwort bestätigen', ), ), ElevatedButton( onPressed: () { String email = _emailController.text; String password = _passwordController.text; String confirmPassword = _confirmPasswordController.text; if (isValidEmail(email) && arePasswordsMatching(password, confirmPassword)) { // E-Mail und Passwörter sind gültig, führe die entsprechende Aktion aus } else { ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Ungültige Eingaben'), duration: Duration(seconds: 2), ), ); } }, child: const Text('Registrieren'), ), ], ), ), ], ), ); } }