add email validation to check for valid email format

This commit is contained in:
2024-08-02 09:33:48 +02:00
parent 824ea6fc76
commit 66e35cf8c8

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:patient_manager/main.dart'; import 'package:patient_manager/main.dart';
class MyTextField extends StatefulWidget { class MyTextField extends StatefulWidget {
final controller; final TextEditingController controller;
final String hintText; final String hintText;
final bool editable; final bool editable;
final bool required; final bool required;
@@ -35,16 +35,21 @@ class _MyTextFieldState extends State<MyTextField> {
final text = widget.controller.text; final text = widget.controller.text;
if (startup) { if (startup) {
return null; return null;
} } else if (!widget.required) {
if (!widget.required) {
return null; return null;
} } else if (text.isEmpty) {
if (text.isEmpty) {
return "${widget.hintText} is required"; return "${widget.hintText} is required";
} else if (widget.hintText == "Email" &&
!isEmailValid(widget.controller.text)) {
return "Enter a valid email address";
} }
return null; return null;
} }
bool isEmailValid(String email) {
return RegExp(r'^[\w-\.]+@[a-zA-Z]+\.[a-zA-Z]{2,}$').hasMatch(email);
}
void _onFocusChange() { void _onFocusChange() {
setState(() { setState(() {
startup = false; startup = false;