form_validation_utils 0.0.3
form_validation_utils: ^0.0.3 copied to clipboard
A set of helper functions to validate common user input in Flutter apps.
import 'package:form_validation_utils/form_validation_utils.dart';
import 'package:flutter/material.dart';
class LoginScreen extends StatelessWidget {
const LoginScreen({super.key});
@override
Widget build(BuildContext context) {
TextEditingController emailController = TextEditingController();
TextEditingController passwordController = TextEditingController();
final _formKey = GlobalKey<FormState>();
return Scaffold(
body: Center(
child: Form(
key: _formKey,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'Login',
style: TextStyle(
fontSize: 36,
fontWeight: FontWeight.bold,
color: Colors.red,
),
),
const SizedBox(height: 20),
SizedBox(
width: 300,
child: TextFormField(
controller: emailController,
validator:
FormValidators.validateEmail, // validate email input
decoration: InputDecoration(
hintText: 'Email',
filled: true,
fillColor: Colors.white,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
),
),
),
),
const SizedBox(height: 10),
SizedBox(
width: 300,
child: TextFormField(
controller: passwordController,
validator:
FormValidators.validatePassword, // validate email input
decoration: InputDecoration(
hintText: 'Password',
filled: true,
fillColor: Colors.white,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
),
),
),
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: () {
if (_formKey.currentState!.validate()) {
print("Form is valid");
}
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.redAccent,
minimumSize: const Size(200, 50),
),
child: const Text(
'Login',
style: TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
],
),
),
),
);
}
}