我正在创建一个应用程序,当用户将文本字段留空或者没有使两个密码匹配时,将显示错误警报。
问题是当信息正确且两个密码匹配时,仍会显示错误警报。
代码如下:
//creating an action that will check when the sign up button is selected.
@IBAction func registerButtonTapped(_ sender: Any) {
let userEmail = userEmailTextField.text;
let userPassword = userPasswordTextField.text;
let userRepeatPassword = repeatPasswordTextField.text;
// if one of the fields is empty the user must repeat the password
if ((userEmail?.isEmpty)! || (userPassword?.isEmpty)! || (userRepeatPassword != nil)) {
//this is the alert pop up shown to the user.
let alertController = UIAlertController(
title: "Error!!!!!!",
message: "Something Went Wrong, Try Again",
preferredStyle: UIAlertControllerStyle.alert
)
let cancelAction = UIAlertAction(
title: "Cancel",
style: UIAlertActionStyle.destructive) { (action) in
}
let confirmAction = UIAlertAction(
title: "OK", style: UIAlertActionStyle.default) { (action) in
}
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
self.present(alertController, animated: true){ () -> Void in
return;
}
}
func registerButtonTapped(_ sender: Any) {
//check if password and repeat password are the same
if (userPassword != userRepeatPassword) {
//display an alert message, user will not be able to continue // not too sure if this works
let alertController = UIAlertController(
title: "Error!!!!!!",
message: "Something Went Wrong Try Again",
preferredStyle: UIAlertControllerStyle.alert
)
let cancelAction = UIAlertAction(
title: "Cancel",
style: UIAlertActionStyle.destructive) { (action) in
}
let confirmAction = UIAlertAction(
title: "OK",
style: UIAlertActionStyle.default) { (action) in
}
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
self.present(alertController, animated: true){ () -> Void in
return;
}
输入正确的信息后,用户应该能够看到一条确认帐户已创建的确认信息。
//display prompt message (confirmation)
//this will show a message to the user showing that the registration has been successful this is not working
func showAlert() {
let alertController = UIAlertController(title: "Thank You", message: "Registration Has Been Completed. Thank You", preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true){ () -> Void in
return;
}
}
这也没有出现。
答案 0 :(得分:0)
我写了关于如何解决这个问题的全部内容。你可以从这里引用它
@IBOutlet var userNameField: UITextField!
@IBOutlet var passwordfield: UITextField!
@IBOutlet var confirmPasswordField: UITextField!
@IBAction func registerButtonTapped() {
if userNameField.text == "" && passwordfield.text == "" && confirmPasswordField.text == "" {
alertController(title: "Error", message: "One or more fields are missing", cancelTitle: "Try again!")
} else {
if passwordfield.text != confirmPasswordField.text {
alertController(title: "Error", message: "Your passwords do not match", cancelTitle: "Try again!")
} else {
//switch views, or do whatever you want when the user correctly enters in their information
}
}
}
func alertController(title: String, message: String, cancelTitle: String) {
let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
let cancelAction = UIAlertAction(title: cancelTitle, style: .cancel)
alertController.addAction(cancelAction)
self.present(alertController, animated: true, completion: nil)
}