Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private func signIn() {
- self.view.endEditing(true)
- let messages = self.validationErrorMessages()
- self.validateErrorMessages(messages)
- if messages.count > 0 {
- return
- }
- let entry = FFEntry()
- entry.login = self.loginTextField.text
- entry.password = self.passwordTextField.text
- FFHUD.show()
- self.navigationController?.view.isUserInteractionEnabled = false
- FFNetworkAdapter.request(target: .login(entry: entry), success: { [weak self] (response) in
- FFHUD.dismiss()
- self?.navigationController?.view.isUserInteractionEnabled = true
- let token = try! response.mapObject(FFToken.self)
- let user = try! response.mapObject(FFUser.self)
- FFUserHolder.token = token.value!
- FFUserHolder.user = user
- self?.performSegue(withIdentifier: FFGlobalConstants.toMenuSegueIdentifier, sender: nil)
- }, failure: { [weak self] (messages) in
- FFHUD.dismiss()
- self?.navigationController?.view.isUserInteractionEnabled = true
- self?.validateErrorMessages(messages)
- })
- }
- private func validationErrorMessages() -> [FFErrorMessage] {
- var messages: [FFErrorMessage] = []
- if !(self.loginTextField.text?.isValideLogin)! {
- let message = FFErrorMessage()
- message.type = FFErrorMessageType.login
- message.text = NSLocalizedString("validation_login_length", comment: "")
- messages.append(message)
- }
- if !(self.passwordTextField.text?.isValidePassword)! {
- let message = FFErrorMessage()
- message.type = FFErrorMessageType.password
- message.text = NSLocalizedString("validation_password_length", comment: "")
- messages.append(message)
- }
- return messages
- }
- private func validateErrorMessages(_ messages: [FFErrorMessage]) {
- if let message = messages.first(where: {$0.type == FFErrorMessageType.login}) {
- self.loginTextField.borderColorTypeName = FFColorType.redOrange.rawValue
- self.loginErrorLabel.isHidden = false
- self.loginErrorImageView.isHidden = false
- self.loginErrorLabel.text = message.text
- }
- else {
- self.loginTextField.borderColorTypeName = FFColorType.alto.rawValue
- self.loginErrorLabel.isHidden = true
- self.loginErrorImageView.isHidden = true
- }
- if let message = messages.first(where: {$0.type == FFErrorMessageType.password}) {
- self.passwordTextField.borderColorTypeName = FFColorType.redOrange.rawValue
- self.passwordErrorLabel.isHidden = false
- self.passwordErrorImageView.isHidden = false
- self.passwordErrorLabel.text = message.text
- }
- else {
- self.passwordTextField.borderColorTypeName = FFColorType.alto.rawValue
- self.passwordErrorLabel.isHidden = true
- self.passwordErrorImageView.isHidden = true
- }
- if let message = messages.first(where: {$0.type == FFErrorMessageType.alert}) {
- FFAlertManager.showErrorMessage(message.text!)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement