Показать сообщение, если все текстовые поля заполнены, правильно в Swift 4?IOS

Программируем под IOS
Ответить
Anonymous
 Показать сообщение, если все текстовые поля заполнены, правильно в Swift 4?

Сообщение Anonymous »

Я создаю поле ввода электронной почты и имя, и мне нужно отобразить сообщение, когда все поля будут заполнены. Но по какой-то причине, когда есть пустые поля и пользователь нажимает кнопку отправки, вместо этого отображается сообщение об успехе. Есть ли способ добавить предложение или что-то еще, чтобы запустить его после заполнения всех полей? спасибо за помощь.

Вот мой код:

import UIKit
import MessageUI

class RequestFilterVC: UIViewController {

@IBOutlet weak var emailTxtField: UITextField!
@IBOutlet weak var filterTxtField: UITextField!
@IBOutlet weak var requestBtn: UIButton!
@IBOutlet weak var validatorMessage: UILabel!
@IBOutlet weak var requestedMessage: UILabel!

override func viewDidLoad() {
super.viewDidLoad()

// hide validator message
validatorMessage.isHidden = true
requestedMessage.isHidden = true
}

@IBAction func requestBtnWasTapped(_ sender: Any) {

let providedEmailAddress = emailTxtField.text

let isEmailAddressValid = isValidEmailAddress(emailAddressString: providedEmailAddress!)

if isEmailAddressValid
{
print("Email address is valid")
} else {
print("Email address is not valid")
displayAlertMessage(messageToDisplay: "Email address is not valid")
}

// If All are completed then send the email .
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self as? MFMailComposeViewControllerDelegate

// Configure the fields of the interface.
composeVC.setToRecipients(["myemail@awesomeemail.com])
composeVC.setSubject("Form Submit)
composeVC.setMessageBody("\(emailTxtField, filterTxtField)", isHTML: false)

// Present the view controller modally
// self.present(composeVC, animated: true, completion: nil)
requestedMessage.isHidden = false
requestedMessage.text = "Submitted form . thank you"
}

func isValidEmailAddress(emailAddressString: String) -> Bool {

var returnValue = true
let emailRegEx = "[A-Z0-9a-z.-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,3}"

do {
let regex = try NSRegularExpression(pattern: emailRegEx)
let nsString = emailAddressString as NSString
let results = regex.matches(in: emailAddressString, range: NSRange(location: 0, length: nsString.length))

if results.count == 0
{
returnValue = false
}
} catch let error as NSError {
print("invalid regex: \(error.localizedDescription)")
returnValue = false
}

return returnValue
}

func displayAlertMessage(messageToDisplay: String)
{
let alertController = UIAlertController(title: "Error", message: messageToDisplay, preferredStyle: .alert)

let OKAction = UIAlertAction(title: "OK", style: .default) { (action:UIAlertAction!) in

print("Ok button tapped");
}

alertController.addAction(OKAction)

self.present(alertController, animated: true, completion:nil)
}
}


Подробнее здесь: https://stackoverflow.com/questions/519 ... in-swift-4
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»