From 994701e2ff0450fd72ce536671a5db3d622e57ef Mon Sep 17 00:00:00 2001 From: JingChiang Date: Sun, 8 Sep 2024 20:23:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=9F=BA=E7=A4=8E?= =?UTF-8?q?=E9=A9=97=E8=AD=89=E3=80=81=E9=8C=AF=E8=AA=A4=E8=99=95=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 為註冊資料新增基礎驗證及驗證碼驗證實作 2. 錯誤欄位游標自動移到該欄 --- lib/RegisterPage.dart | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/lib/RegisterPage.dart b/lib/RegisterPage.dart index 3459bba..63295b8 100644 --- a/lib/RegisterPage.dart +++ b/lib/RegisterPage.dart @@ -111,6 +111,7 @@ class _RegisterPageState extends State { ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('請輸入正確的電子信箱')), ); + _emailFocusNode.requestFocus(); return; } @@ -119,6 +120,46 @@ class _RegisterPageState extends State { _startTimer(); } + bool _isDataCorrect() { + String name = _nameController.text; + String email = _emailController.text; + String password = _passwordController.text; + String code = _codeController.text; + + if (name == ''){ + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('用戶姓名不可為空')), + ); + _nameFocusNode.requestFocus(); + return false; + } + + if (email == ''){ + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('電子信箱不可為空')), + ); + _emailFocusNode.requestFocus(); + return false; + } + + if (password== ''){ + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('密碼不可為空')), + ); + _passwordFocusNode.requestFocus(); + return false; + } + + if (code != _generatedCode){ + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('驗證碼錯誤')), + ); + _codeFocusNode.requestFocus(); + return false; + } + return true; + } + void registerBtn() async { if (!_isDataCorrect()) return; final conn = await MySQLConnection.createConnection(