govt_documents_validator 0.0.1 govt_documents_validator: ^0.0.1 copied to clipboard
This package provides an easy way to validate Indian Government Documents like Aadhar,PAN and GSTIN. This is often useful to avoid the use of RegEx for validating the user inputs which maynot work in [...]
import 'package:flutter/material.dart';
import 'package:govt_documents_validator/govt_documents_validator.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomePage(),
theme: ThemeData(
brightness: Brightness.light,
),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
var _formKey = GlobalKey<FormState>();
bool isAadharNum;
bool isGSTNum;
GSTValidator gstValidator = new GSTValidator();
AadharValidator aadharValidator = new AadharValidator();
void _submit() {
final isValid = _formKey.currentState.validate();
if (!isValid) {
return;
}
_formKey.currentState.save();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
title: Text(
"Document Validation",
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
),
elevation: 2.0,
),
body: Padding(
padding: const EdgeInsets.all(20.0),
child: Form(
key: _formKey,
child: Column(
children: <Widget>[
TextFormField(
maxLength: 12,
cursorColor: Colors.green,
decoration: InputDecoration(
labelText: 'Aadhar Number',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
borderSide: BorderSide(color: Colors.black),
),
),
onFieldSubmitted: (value) {},
validator: (value) {
if (aadharValidator.validate(value) == true) {
return null;
}
return "Incorrect Aadhar Number";
},
),
//box styling
SizedBox(
height: MediaQuery.of(context).size.width * 0.1,
),
//text input
TextFormField(
maxLength: 14,
cursorColor: Colors.green,
decoration: InputDecoration(
labelText: 'GST Number',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
borderSide: BorderSide(),
),
),
onFieldSubmitted: (value) {},
validator: (value) {
if (gstValidator.validate(value) == true) {
return null;
}
return "Incorrect GST Number";
},
),
//box styling
SizedBox(
height: MediaQuery.of(context).size.width * 0.1,
),
//text input
RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0)),
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 10.0,
),
child: Text(
"Verify",
style: TextStyle(
fontSize: 20.0,
),
),
onPressed: () => _submit(),
)
],
),
),
),
);
}
}