From ae30cd0d869293a6f4839951c20184480a6455a0 Mon Sep 17 00:00:00 2001 From: gme_2 Date: Thu, 13 Sep 2018 10:36:20 +0900 Subject: [PATCH] error text field and label initialized --- .../User Interface/View/kycForm1.storyboard | 89 ++++++++--------- .../View/kycForm1ViewController.swift | 95 ++++++++++++++++++- 2 files changed, 133 insertions(+), 51 deletions(-) diff --git a/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1.storyboard b/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1.storyboard index 60065870..33343490 100644 --- a/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1.storyboard +++ b/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1.storyboard @@ -30,10 +30,10 @@ - + - + @@ -60,7 +60,7 @@ - + @@ -158,40 +158,8 @@ - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + @@ -502,6 +473,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1ViewController.swift b/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1ViewController.swift index 2714474c..f687ad28 100644 --- a/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1ViewController.swift +++ b/GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1ViewController.swift @@ -14,14 +14,57 @@ class KycForm1ViewController: UIViewController { struct Constants { static let segmentBackgroundViewColor = UIColor.init(hex: "E7EDF2") } + + struct FieldKeys { + static let firstName = "firstName" + static let middleName = "middleName" + static let lastName = "lastName" + static let gender = "gender" + static let dob = "dob" + static let mobileNumber = "mobileNumber" + static let email = "email" + static let nativeCountry = "nativeCountry" + static let country = "country" + static let province = "province" + static let occupation = "occupation" + } // MARK: IBOutlets + // validation labels + @IBOutlet weak var firstNameErrorLabel: UILabel! + @IBOutlet weak var middleNameErrorLabel: UILabel! + @IBOutlet weak var lastNameErrorLabel: UILabel! + @IBOutlet weak var genderErrorLabel: UILabel! + @IBOutlet weak var dobErrorLabel: UILabel! + @IBOutlet weak var mobileNumberErrorLabel: UILabel! + @IBOutlet weak var emailErrorLabel: UILabel! + @IBOutlet weak var nativeCountryErrorLabel: UILabel! + @IBOutlet weak var countryErrorLabel: UILabel! + @IBOutlet weak var provinceErrorLabel: UILabel! + @IBOutlet weak var occupationErrorLabel: UILabel! + + // textfields + @IBOutlet weak var firstNameTextField: UITextField! + @IBOutlet weak var middleNmaeTextField: UITextField! + @IBOutlet weak var lastNameTextField: UITextField! + @IBOutlet weak var genderTextField: UITextField! + @IBOutlet weak var dobTextField: UITextField! + @IBOutlet weak var mobileNumberTextField: UITextField! + @IBOutlet weak var emailTextField: UITextField! + @IBOutlet weak var nativeCountryTextField: UITextField! + @IBOutlet weak var countryTextField: UITextField! + @IBOutlet weak var provinceTextField: UITextField! + @IBOutlet weak var occupationTextField: UITextField! + + + // MARK: Properties - @IBOutlet var segmentBackgroundViews: [UIView]! var presenter: KycForm1ModuleInterface? + var errorTextFieldDict: [String: UITextField] = [:] + var errorLabelsDict: [String: UILabel] = [:] // MARK: VC's Life cycle @@ -32,13 +75,57 @@ class KycForm1ViewController: UIViewController { // MARK: IBActions + @IBAction func save(_ sender: UIButton) { + + } + // MARK: Other Functions private func setup() { // all setup should be done here - self.segmentBackgroundViews.forEach({ - $0.layer.cornerRadius = 4 - }) + hideErrorLabels() + setupErrorLabels() + setupErrorTextFields() + } + + private func hideErrorLabels() { + [firstNameErrorLabel, middleNameErrorLabel, lastNameErrorLabel, genderErrorLabel, dobErrorLabel, mobileNumberErrorLabel, emailErrorLabel, nativeCountryErrorLabel, countryErrorLabel, provinceErrorLabel, occupationErrorLabel].forEach({ + $0?.isHidden = true + }) + } + + private func setupErrorLabels() { + self.errorLabelsDict = + [ + FieldKeys.firstName: self.firstNameErrorLabel, + FieldKeys.middleName: self.middleNameErrorLabel, + FieldKeys.lastName: self.lastNameErrorLabel, + FieldKeys.gender: self.genderErrorLabel, + FieldKeys.dob: self.dobErrorLabel, + FieldKeys.mobileNumber: self.mobileNumberErrorLabel, + FieldKeys.email: self.emailErrorLabel, + FieldKeys.nativeCountry: self.nativeCountryErrorLabel, + FieldKeys.country: self.countryErrorLabel, + FieldKeys.province: self.provinceErrorLabel, + FieldKeys.occupation: self.occupationErrorLabel + ] + } + + private func setupErrorTextFields() { + self.errorTextFieldDict = + [ + FieldKeys.firstName: self.firstNameTextField, + FieldKeys.middleName: self.middleNmaeTextField, + FieldKeys.lastName: self.lastNameTextField, + FieldKeys.gender: self.genderTextField, + FieldKeys.dob: self.dobTextField, + FieldKeys.mobileNumber: self.mobileNumberTextField, + FieldKeys.email: self.emailTextField, + FieldKeys.nativeCountry: self.nativeCountryTextField, + FieldKeys.country: self.countryTextField, + FieldKeys.province: self.provinceTextField, + FieldKeys.occupation: self.occupationTextField + ] } }