         } else {
           // retry
           return (.Confirm, { _, _, _ in
+            strongSelf.descriptionLabel.text = "密码不匹配, 您还有 \(strongSelf.config.retryCount - strongSelf.retryCount) 次尝试机会"
+            strongSelf.descriptionLabel.hidden = false
             strongSelf.passwordInputView.shake() {
               strongSelf.passwordInputView.clear()
-              strongSelf.descriptionLabel.hidden = false
-              strongSelf.descriptionLabel.text = "密码不匹配, 您还有 \(strongSelf.config.retryCount - strongSelf.retryCount) 次尝试机会"
             }
           })
         }

        } else {
          // retry
          return (.Confirm, { _, _, _ in
            strongSelf.passwordInputView.shake() {
              strongSelf.passwordInputView.clear()
              strongSelf.descriptionLabel.hidden = false
              strongSelf.descriptionLabel.text = "密码不匹配, 您还有 \(strongSelf.config.retryCount - strongSelf.retryCount) 次尝试机会"
            }
          })
        }

      })
      case (.Confirm, .Invalid): return (.Confirm, { _, _, _ in
        // confirm again
        self?.descriptionLabel.text = "密码不匹配, 请再试一次"
        self?.descriptionLabel.hidden = false
        self?.passwordInputView.shake() {
          self?.passwordInputView.clear()
        }
      })
      default: return nil
