From 163777d8a2cb7cfa469f54a7042528870ebc10a3 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 09 十二月 2019 17:46:20 +0800
Subject: [PATCH] 一个新版本

---
 ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs |   77 ++++++++++++++++++++++++++++++++------
 1 files changed, 64 insertions(+), 13 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
index ff9b5c3..da5814b 100755
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
@@ -82,7 +82,6 @@
             //AddBody
             AddBodyView();
 
-
             //bind
             BindEvent();
         }
@@ -225,11 +224,11 @@
             }
             pwdRow = new PwdRowForm();
             pwdRow.Init(accountCodeFrameLayout, 29, 196);
-            //pwdRow.PasswrodET.TextChangeEventHandler += Account_TextChange;
+            pwdRow.PasswrodET.TextChangeEventHandler += Code_TextChange;
 
             pwdComfireRow = new PwdRowForm();
             pwdComfireRow.Init(accountCodeFrameLayout, 29, 363);
-            //pwdComfireRow.PasswrodET.TextChangeEventHandler += Account_TextChange;
+            pwdComfireRow.PasswrodET.TextChangeEventHandler += Code_TextChange;
             pwdComfireRow.SetPlaceholdText(Language.StringByID(R.MyInternationalizationString.PleaseComfirePWD));
 
             codeRow = new CodeForRegisterRowForm();
@@ -251,6 +250,7 @@
             phoneEmailForm.SelectedEmail.MouseUpEventHandler += SelectPhoneOrEmail_MouseUpEvent;
             registerBtn.MouseUpEventHandler += Register;
             loginByAccountPWDBtn.MouseUpEventHandler += LoginByPWD;
+            codeRow.VerificationCodeET.TextChangeEventHandler += Code_TextChange;
         }
         #endregion
 
@@ -262,6 +262,23 @@
         /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
         private async void Register(object sender, MouseEventArgs mouseEventArgs)
         {
+            if (CheckAccount(account) == false)
+            {
+                return;
+            }
+            //鍏堝垽鏂�2娆″瘑鐮佽緭鍏ユ槸鍚︿竴鑷�
+            if (pwdRow.PasswrodET.Text.Trim() != pwdComfireRow.PasswrodET.Text.Trim())
+            {
+                errorBtn.TextID = R.MyInternationalizationString.TwoPasswordInconsistency;
+                return;
+            }
+
+            if (AccountLogic.Instance.CheckPwdLength(pwdRow.PasswrodET.Text.Trim()) == false)
+            {
+                errorBtn.TextID = R.MyInternationalizationString.ThePWDLengthError;
+                return;
+            }
+
             CommonPage.Loading.Start();
             try
             {
@@ -350,12 +367,10 @@
             errorBtn.Text = string.Empty;
             if ((sender as EditText).Text.Trim().Length > 0)
             {
-                //IsRightAccount = true;
                 codeRow.SendCodeBtn.Enable = codeRow.SendCodeBtn.IsSelected = true;
             }
             else
             {
-                //IsRightAccount = false;
                 codeRow.SendCodeBtn.Enable = codeRow.SendCodeBtn.IsSelected = false;
             }
             account = (sender as EditText).Text.Trim();
@@ -369,7 +384,7 @@
         private void Code_TextChange(object sender, string mouseEventArgs)
         {
             errorBtn.Text = string.Empty;
-            if ((sender as EditText).Text.Trim().Length > 0)
+            if (codeRow.VerificationCodeET.Text.Trim().Length > 0 && account.Trim().Length > 0 && pwdRow.PasswrodET.Text.Trim().Length > 0 && pwdComfireRow.PasswrodET.Text.Trim().Length > 0)
             {
                 registerBtn.Enable = registerBtn.IsSelected = true;
             }
@@ -389,15 +404,23 @@
         /// <param name="mouseEventArgs"></param>
         private async void SendCode_MouseUpEventAsync(object sender, MouseEventArgs mouseEventArgs)
         {
-            (sender as Button).Enable = (sender as Button).IsSelected = false;
-            //鍏堝垽鏂�2娆″瘑鐮佽緭鍏ユ槸鍚︿竴鑷�
-            if (pwdRow.PasswrodET.Text.Trim() != pwdComfireRow.PasswrodET.Text.Trim())
-            { 
-                var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.TwoPasswordInconsistency), Language.StringByID(R.MyInternationalizationString.Confrim));
-                alert.Show();
-                codeRow.SendCodeBtn.Enable = codeRow.SendCodeBtn.IsSelected = false;
+            if (CheckAccount(account) == false)
+            {
                 return;
             }
+            //鍏堝垽鏂�2娆″瘑鐮佽緭鍏ユ槸鍚︿竴鑷�
+            if (pwdRow.PasswrodET.Text.Trim() != pwdComfireRow.PasswrodET.Text.Trim())
+            {
+                errorBtn.TextID = R.MyInternationalizationString.TwoPasswordInconsistency;
+                return;
+            }
+
+            if (AccountLogic.Instance.CheckPwdLength(pwdRow.PasswrodET.Text.Trim()) == false)
+            {
+                errorBtn.TextID = R.MyInternationalizationString.ThePWDLengthError;
+                return;
+            }
+
             CommonPage.Loading.Start();
             (sender as Button).Enable = (sender as Button).IsSelected = false;
             try
@@ -465,6 +488,34 @@
                 CommonPage.Loading.Hide();
             }
         }
+
+        /// <summary>
+        /// CheckAccount
+        /// </summary>
+        /// <param name="accountStr"></param>
+        /// <returns></returns>
+        private bool CheckAccount(string accountStr)
+        {
+            errorBtn.Text = string.Empty;
+            if (phoneEmailForm.SelectedEmail.IsSelected)
+            {
+                if (AccountLogic.Instance.CheckEmail(accountStr) == false)
+                {
+                    errorBtn.TextID = R.MyInternationalizationString.TheEmailError;
+                    return false;
+                }
+            }
+            else
+            {
+                if (AccountLogic.Instance.CheckPhoneWithZone(accountStr, CommonPage.PhoneZoneStr) == false)
+                {
+                    errorBtn.TextID = R.MyInternationalizationString.ThePhoneError;
+                    return false;
+                }
+            }
+            return true;
+        }
+
         #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0