Files
Woka_Native_iOS/WOKA/Helpers/Validations/ValidatorClass.swift
Bilal 32f9ddaa7d - Made the forget password UI.
- Made login view.
- Continue the flow from onboarding.
- added the flow from login-> create account and forget password.
2024-05-03 20:27:54 +05:30

67 lines
2.4 KiB
Swift

//
// ValidatorClass.swift
// WOKA
//
// Created by Bilal on 03/05/2024.
//
import UIKit
class ValidatorClass {
static let sharedInstanec = ValidatorClass()
func validateName(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let currentText = textField.text ?? ""
// dont allow leading space for names
if (range.location == 0 && string == " ") {
return false
}
// Check if the replacement string is valid (contains only letters and spaces)
if !string.nameCharacterOnly(){return false}
// Ensure that the first and last characters are not spaces
if currentText.isEmpty && string == " " {
return false
}
// Allow only one space between first name, middle name, and last name
if string == " " {
let components = currentText.components(separatedBy: " ")
//Block user from adding 2 spaces in trailing word
if components.last == "" && string == " "{
return false
}
if (currentText as NSString).replacingCharacters(in: range, with: string).contains(" "){
return false
}
let filteredComponents = components.filter { !$0.isEmpty }
if filteredComponents.count >= 6 {
return false
}
}
// Check the length limit (e.g., adjust to your requirements)
let newLength = currentText.count + string.count - range.length
return newLength <= 50 // Adjust the limit as needed.
}
func limitCharacter(length : Int, _ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool{
let maxLength = length
let currentString = (textField.text ?? "") as NSString
let newString = currentString.replacingCharacters(in: range, with: string)
return newString.count <= maxLength
}
func limitCharacterTV(length : Int, _ textView: UITextView, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool{
let maxLength = length
let currentString = (textView.text ?? "") as NSString
let newString = currentString.replacingCharacters(in: range, with: string)
return newString.count <= maxLength
}
}