Ios 验证swift中文本字段为0且文本字段为空的情况

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

如何验证值大于0的文本字段。我尝试了所有关于堆栈溢出的建议,但未能验证。以及如何检查textfield的值是否小于或等于我的标签值

 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
            }
        }
    }