можно ли проверить, если адрес электронной почты уже используется, прежде чем позвонить на Auth.auth().createUser(withEmail: createEmail...
У меня есть несколько контроллеров представления регистрации, которым пользователи должны будут ввести адрес электронной почты, создать имя пользователя, затем ввести свое имя и создать пароль в этом точном порядке. Однако все они представляют собой отдельные контроллеры представления, кроме имени и пароля (один в одном).
Я бы хотел, чтобы пользователь знал, имеет ли введенный адрес электронной почты правильный формат и уже используется ли он. Единственный способ выяснить, как это сделать, - это когда пользователь проходит через все контроллеры представлений, а затем нажимает кнопку регистрации, которая проверяет наличие ВСЕХ ошибок.
Это код, который у меня есть для конечного контроллера представления, который создает пользователя после того, как все шаги выполнены (нажата кнопка регистрации)
Auth.auth().createUser(withEmail: createEmail as! String, password: password as! String ) { (user, error) in
// stop activity indicator
self.nextButton.setTitle("Sign Up", for: .normal)
self.activityIndicator.stopAnimating()
if error == nil && user != nil {
print("User Created!")
// If user is created go to Welcome Page
self.performSegue(withIdentifier: "goToWelcomeVC", sender: self)
} else {
// If there is an error creating an account
print("error creating User: \(error!.localizedDescription)")
print(error!._code)
self.handleError(error!)
return
Это код, с которым я играю для контроллера представления электронной почты. (кнопка продолжения нажата) ** не обращайте внимания на большую часть AuthErrorCode, я пытался найти способ вызвать это и включить его в проверку ошибок ... похоже, мне это не помогает.
// TODO check email
let invalidEmail = AuthErrorCode.invalidEmail
let emailTaken = AuthErrorCode.emailAlreadyInUse
}
if (emailTextField.text?.isEmpty)! {
print("textField is empty")
let alert = UIAlertController(title: "Oops!", message: "Please enter an email address.", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: " Try Again", style: UIAlertAction.Style.default, handler: nil))
self.present(alert, animated: true, completion: nil)
} else {
self.performSegue(withIdentifier: "goToCreateUsernameVC", sender: self)
}
}