Ios 验证swift中文本字段为0且文本字段为空的情况
如何验证值大于0的文本字段。我尝试了所有关于堆栈溢出的建议,但未能验证。以及如何检查textfield的值是否小于或等于我的标签值Ios 验证swift中文本字段为0且文本字段为空的情况,ios,swift,validation,uitextfield,Ios,Swift,Validation,Uitextfield,如何验证值大于0的文本字段。我尝试了所有关于堆栈溢出的建议,但未能验证。以及如何检查textfield的值是否小于或等于我的标签值 let inputStr = totalAmountTextfield.text as? String let inputInt = Int(inputStr!) if (inputInt)! < 0 { let alert = UIAlertView() alert.title = "Message" ale
let inputStr = totalAmountTextfield.text as? String
let inputInt = Int(inputStr!)
if (inputInt)! < 0
{
let alert = UIAlertView() alert.title = "Message"
alert.message = "Enter Valid Amount"
alert.addButton(withTitle: "Ok")
alert.delegate = self alert.show() }
else{ print("pay pressed")
razorpay.open(options) }
}
让inputStr=totalAmountTextfield.text作为?一串
让inputInt=Int(inputStr!)
如果(输入)!<0
{
让alert=UIAlertView()alert.title=“消息”
alert.message=“输入有效金额”
alert.addButton(标题为“Ok”)
alert.delegate=self-alert.show()}
else{打印(“按付款”)
razorpay.open(选项)}
}
简单地将输入字符串转换为double并进行检查
类ViewController:UIViewController{
@IBOutlet弱var txt:UITextField!
@iAction func onClickSubmit(\发送方:任意)
{
让输入str:String=txt.text??“”
let alert=UIAlertController()
addAction(UIAlertAction(标题:“确定”,样式:UIAlertActionStyle.default,处理程序:nil))
如果inputStr.isEmpty
{
alert.message=“请输入文本”
self.present(警报、动画:true、完成:nil)
}
其他的
{
设inputInt=inputStr.integerValue
如果(输入)!<0
{
alert.message=“输入有效金额”
self.present(警报、动画:true、完成:nil)
}
其他的
{
打印(“付款继续”)
}
}
}
}
扩展字符串
{
func isNumber()->Bool{
让numberCharacters=CharacterSet.decimalDigits.inversed
return!self.isEmpty&&self.rangeOfCharacter(from:numberCharacters)==nil
}
结构编号格式
{
静态let实例=NumberFormatter()
}
var integerValue:Int?
{
如果我是空的
{
返回0
}
其他的
{
return(NumberFormat.instance.number(from:self)?.intValue)??0
}
}
}
可能的副本显示您已经尝试过的内容。请检查此项。。让inputStr=totalAmountTextfield.text作为?字符串let inputInt=Int(inputsr!)if(inputInt)!<0{let alert=UIAlertView()alert.title=“Message”alert.Message=“输入有效金额”alert.addButton(带title:“Ok”)alert.delegate=self alert.show()}否则{print(“按付款”)razorpay.open(选项)}}上面的代码我在同一时间尝试了PGDevat如何检查文本字段是否为空您可以在转换之前检查它,但是使用上面的扩展名即使您传递空白字符串,它也会返回0。因此您显示alertlet inputStr:string=“”在这一行代码中,您将与字符串变量进行比较,但在我的例子中,我使用的是textfield,如何使用您的代码。我对ios不熟悉,这就是为什么对它没有什么混淆的原因。let inputInt=(totalAmountTextfield.text as?integerValue)在第二种情况下,使用未声明的类型“integerValue”时出现错误。您能帮助我解决此问题吗
class ViewController: UIViewController {
@IBOutlet weak var txt: UITextField!
@IBAction func onClickSubmit(_ sender: Any)
{
let inputStr:String = txt.text ?? ""
let alert = UIAlertController()
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: nil))
if inputStr.isEmpty
{
alert.message = "Please Enter Text"
self.present(alert, animated: true, completion: nil)
}
else
{
let inputInt = inputStr.integerValue
if (inputInt)! < 0
{
alert.message = "Enter Valid amount"
self.present(alert, animated: true, completion: nil)
}
else
{
print("Pay to Proceed")
}
}
}
}
extension String
{
func isNumber() -> Bool{
let numberCharacters = CharacterSet.decimalDigits.inverted
return !self.isEmpty && self.rangeOfCharacter(from:numberCharacters) == nil
}
struct NumberFormat
{
static let instance = NumberFormatter()
}
var integerValue:Int?
{
if self.isEmpty
{
return 0
}
else
{
return (NumberFormat.instance.number(from: self)?.intValue) ?? 0
}
}
}