ios - 在 iOS 中验证单个文本字段中的两个值

标签 ios swift validation

<分区>

我正在为 iOS 应用程序设置密码屏幕。我使用单个文本字段来设置密码和确认密码。我在为这两个值设置标志并验证它们时遇到困难。

func handleInput(str: String)
{
    if txtField.text?.characters.count == 4
    {
        print("Set Passcode: \(txtField.text!)")

        let myValue:NSString = txtField.text!
        NSUserDefaults.standardUserDefaults().setObject(myValue, forKey:"Username1")
        NSUserDefaults.standardUserDefaults().synchronize()
        print(" Value1 \(myValue)")

        resignFirstResponder()
        label.text? = "Confirm Passcode"
        txtField.text = ""

最佳答案

不要忘记导入 UITextFieldDelegate,如下面的代码所示。你可以这样做:

class File2: UIViewController, UITextFieldDelegate{

@IBOutlet weak var textField: UITextField!
@IBOutlet weak var label: UILabel!
var i = 0
var password = ""
var confirmPassword = ""

override func viewDidLoad() {
    super.viewDidLoad()
    textField.delegate = self
    textField.secureTextEntry = true
}

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    let newLength = count(textField.text.utf16) + count(string.utf16) - range.length
    if newLength == 4{
        if i == 0{
            password = textField.text!
            textField.text = ""
            textField.placeholder = "Confirm Password"
            i+=1
        }
        else if i == 1{
            confirmPassword = textField.text!
            textField.text = ""
            i = 0
            if confirmPassword == password{
                // save the password... (Your Code)
                // I know userdefaults is not a good way to store passwords, but for tutorial purposes, it's OK.
                NSUserDefaults.standardUserDefaults.setValue(password, forKey: "password")
                print("Account Succesfully Created With Password: \(password)!")
            }
        }
    }
    return newLength <= 4
    return true
}

}

读取密码:

查看关于 Stack OverflowUserDefaults 文档。

关于ios - 在 iOS 中验证单个文本字段中的两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38851895/

相关文章:

swift - 在 prepare segue 中为类属性添加值

c++ - 过滤掉无效的用户输入

jquery - 使用 jQuery 验证表单文本区域字段中的 JSON 输入

swift - 使用监听器更新任何 View Controller

ios - Firebase Crashlytics for Swift 上未显示的实际原因

JAVASCRIPT 验证表单中的日期

iOS 写入 CSV 文件 : which encoding to use

ios - 为 Storyboard 场景添加空间

ios - 刷新 View 背景色

ios uitableview uitableviewcell 重用有旧数据