0
我已经实现了带有两个文本字段的警报窗口。我想执行一些验证:如果其中一个文本字段为空(用户没有输入任何值),应用程序不应允许用户按“完成”按钮。 我不想显示任何警报,只是不想让用户保存空白数据。Swift3 UITextField在按下按钮后进行UIAlert验证
我已经创建了下面列出的功能。增加了两名警卫与回报。但在这种情况下,如果用户没有输入任何内容,则警报会关闭并且不会保存任何内容。我不想让警报窗口关闭。
如果可以做到的话,该怎么办?还没有找到答案。我检查了this的问题,但看起来它不适用于我。感谢你的帮助!
private func addTable() {
let alert = UIAlertController(title: NSLocalizedString("inputTableParams", comment: ""), message: nil, preferredStyle: .alert)
alert.addTextField(configurationHandler: configureTableNameTextField)
alert.addTextField(configurationHandler: configureTableCapacityTextField)
alert.textFields?[0].autocapitalizationType = .sentences
alert.textFields?[1].autocapitalizationType = .sentences
alert.addAction(UIAlertAction(title: NSLocalizedString("alertCancel", comment: ""), style: .cancel, handler: nil))
alert.addAction(UIAlertAction(title: NSLocalizedString("alertDone", comment: ""), style: .default, handler: { (UIAlertAction) in
guard self.tableNameTextField.text != "" else {return}
guard self.tableCapacityTextField.text != "" else {return}
let newTable = Table(tableName: self.tableNameTextField.text!, tableCapacity: Int(self.tableCapacityTextField.text!)!)
let result = try? TablesTable.getOrCreateTable(table: newTable)
if result != nil {
self.updateTableView()
}
}))
self.present(alert, animated: true, completion: {})
}