add email validation to check for valid email format
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user