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