在我的注册页面上,我希望用户使用确认密码文本字段确认他们选择的密码。我正在使用Swift。
这是我的注册代码
if(newUser.password != self.confirmPassword.text){
let alertController = UIAlertController(title: "Sign Up Failed", message: "Sorry, your Passwords were not matching.", preferredStyle: .Alert)
let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in
// ...
}
alertController.addAction(OKAction)
self.presentViewController(alertController, animated: true) {
// ...
}
}
这是我的@IBAction func confirmButton(sender: AnyObject)
编辑:
我没有收到错误,如果我只填写两个不同的密码或根本没有密码,Parse仍会注册用户。
感谢。
答案 0 :(得分:4)
以下是我通常的做法:
func registerButtonTapped() {
var a = false
var b = false
if passwordField.text == confirmField.text {
a = true
} else {
//Passwords dont match
}
if(passwordField.text == "" || confirmField.text == "") {
//alert saying there are empty fields
} else {
b = true
}
if a == true && b == true {
//Signup code
}
}
答案 1 :(得分:0)
上一个答案是正确的,但我希望对两个if语句执行相同的操作,第一个if语句检查是否所有文本字段都具有文本,以防万一某些文本字段丢失了,我们会为用户发出警报(“请输入所有文本字段”)。第二条if语句检查密码是否相等,并提供另一个警报(“密码不匹配”)。如果满足所有要求,则该函数返回true。
func validationOfTextFields() -> Bool{
var a = false
if(signUpPassword.text == "" || signUpConfirmPassword.text == "" || signUpName.text == "" || signUpEmail.text == "" || signUpStudentMatrix.text == "")
{
let alertController = UIAlertController(title: "Error", message: "Please Enter All text Fields", preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
if signUpPassword.text != signUpConfirmPassword.text {
let alertController = UIAlertController(title: "Error", message: "Passwords don't Match", preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
}
else{
a = true
}
}
return a
}