added validation

fatima
Fatimah Alshammari 4 years ago
parent 978702a330
commit 634554b08d

@ -1,5 +1,3 @@
import 'package:car_customer_app/api/user_api_client.dart'; import 'package:car_customer_app/api/user_api_client.dart';
import 'package:car_customer_app/classes/utils.dart'; import 'package:car_customer_app/classes/utils.dart';
import 'package:car_customer_app/config/routes.dart'; import 'package:car_customer_app/config/routes.dart';
@ -15,43 +13,69 @@ import 'package:flutter/material.dart';
import 'dart:convert'; import 'dart:convert';
import 'package:http/http.dart'; import 'package:http/http.dart';
class ConfirmNewPasswordPage extends StatelessWidget { class ConfirmNewPasswordPage extends StatefulWidget {
String userToken; String userToken;
ConfirmNewPasswordPage(this.userToken, {Key? key}) : super(key: key); ConfirmNewPasswordPage(this.userToken, {Key? key}) : super(key: key);
String newPassword = ""; @override
State<ConfirmNewPasswordPage> createState() => _ConfirmNewPasswordPageState();
}
// String userToken = ""; class _ConfirmNewPasswordPageState extends State<ConfirmNewPasswordPage> {
String newPassword = "";
String confirmPassword = '';
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: appBar(title: "Forget Password"), appBar: appBar(title: "Forget Password"),
body: Container( body: SingleChildScrollView(
width: double.infinity, child: Container(
height: double.infinity, // width: double.infinity,
padding: EdgeInsets.all(40), // height: double.infinity,
child: Column( padding: EdgeInsets.all(40),
children: [ child: Column(
"New Password".toText24(), children: [
12.height, "New Password".toText24(),
TxtField( 12.height,
hint: "Inter New Password", TextFormField(
value: newPassword, decoration: InputDecoration(
onChanged: (v) { hintText: "Enter New Password",
newPassword = v; hintStyle: TextStyle(color: Colors.grey),
}, border: OutlineInputBorder(
), borderRadius: const BorderRadius.all(
40.height, const Radius.circular(5.0),
ShowFillButton( ),
title: "Confirm", ),
width: double.infinity, ),
onPressed: () { obscureText: true,
confirmPasswordOTP(context); onChanged: (v) => newPassword = v,
}, ),
), 12.height,
], TextFormField(
decoration: InputDecoration(
hintText: "Confirm Password",
hintStyle: TextStyle(color: Colors.grey),
border: OutlineInputBorder(
borderRadius: const BorderRadius.all(
const Radius.circular(5.0),
),
),
),
obscureText: true,
onChanged: (v) => confirmPassword = v,
),
40.height,
ShowFillButton(
title: "Confirm",
width: double.infinity,
onPressed: () {
if (validation()) confirmPasswordOTP(context);
},
),
],
),
), ),
), ),
); );
@ -59,13 +83,23 @@ class ConfirmNewPasswordPage extends StatelessWidget {
Future<void> confirmPasswordOTP(BuildContext context) async { Future<void> confirmPasswordOTP(BuildContext context) async {
Utils.showLoading(context); Utils.showLoading(context);
Response res = await UserApiClent().ForgetPassword(userToken, newPassword); Response res = await UserApiClent().ForgetPassword(widget.userToken, newPassword);
Utils.hideLoading(context); Utils.hideLoading(context);
ConfirmPassword data = ConfirmPassword.fromJson(jsonDecode(res.body)); ConfirmPassword data = ConfirmPassword.fromJson(jsonDecode(res.body));
if (data.messageStatus == 1) { if (data.messageStatus == 1) {
Utils.showToast("Password is Updated");
navigateWithName(context, AppRoutes.loginWithPassword); navigateWithName(context, AppRoutes.loginWithPassword);
} else { } else {
Utils.showToast(data.message ?? ""); Utils.showToast(data.message ?? "");
} }
} }
bool validation() {
bool isValid = true;
if (newPassword != confirmPassword) {
Utils.showToast("Confirmation password does not match the entered password");
isValid = false;
}
return isValid;
}
} }

@ -72,19 +72,6 @@ class ForgetPasswordPage extends StatelessWidget {
], ],
), ),
mFlex(10), mFlex(10),
// 40.height,
// ShowFillButton(
// title: "Continue",
// width: double.infinity,
// onPressed: () {
// showMDialog(
// context,
// child: MessageDialog(
// title: "New Password sent used",
// ),
// );
// },
// ),
], ],
), ),
), ),

Loading…
Cancel
Save