Skip to main content

Swift API Manager -Alamofire-Refresh Token-With TestCases

  import Foundation import KeychainAccess enum APIError : Error { case accessTokenExpired case networkError // Add more error cases as needed } class APIManager { private let keychain = Keychain (service: "com.example.app.refreshToken" ) private let refreshTokenKey = "refreshToken" private var accessToken: String ? func callAPI < T : Codable >( urlString : String , method : String , parameters : [ String : Any ] ? , completion : @escaping ( Result < T , APIError >) -> Void ) { guard let url = URL (string: urlString) else { completion(.failure(.networkError)) return } var request = URLRequest (url: url) request.httpMethod = method // Add access token to the request headers if available if let token = accessToken { request.setValue( "Bearer \(token) " , forHTTPHeaderField: "Aut...

Validation Password or Username in Swift 4.0

Validation Password or Username in Swift 4.0

Validation Tutorial Password Or Username Swift 4.0. Two type password validation. Most of the validation same confirm password , Password must one uppercase letter, Password must have more then some characters , Password contain some special character , Password must one digit. etc.

Password Validation

Type First Password Validation - 

Password Mini or Max length is 6 - 10.
One Alphabet in Password.
One Special Character in Password.

^                              - Start Anchor.
(?=.*[a-z])               -Ensure string has one character.
(?=.[$@$#!%?&])   -Ensure string has one special character.
{8,}                           -Ensure password length is 8.
$                               -End Anchor.

See Example -  

func isPasswordValidate(_ password : String)->Bool{
  let validatePassword= NSPredicate(format: "SELF MATCHES %@", "^(?=.*[a-z])(?=.*[$@$#!%*?&])[A-Za-z\\d$@$#!%*?&]{8,}")
    return validatePassword.evaluate(with: password)
}

Type Second Password Validation - 

Password length is Fixed .
Fixed Upper Case letters.
Fixed Special Character.
Fixed Number
Fixed  letters of lowercase in password.

^                                           -Start Anchor.
(?=.*[A-Z].*[A-Z])              -Ensure string has two uppercase letters.
(?=.[$@$#!%?&])                -Ensure string has one special character.
(?=.*[0-9].*[0-9])                 -Ensure string has two digits.
(?=.*[a-z].*[a-z].?*[a-z])      -Ensure string has three lowercase letters.
{8,}                                       -Ensure password length is 8.
$                                            -End Anchor.

See Example -  

func isPasswordValidate(_ password : String) -> Bool{
    let validatePassword= NSPredicate(format: "SELF MATCHES %@", "^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$")
    return validatePassword.evaluate(with: password)
}

Comments

  1. Congratulation for the great post. Those who come to read your Information will find lots of helpful and informative tips. Apple Developer Login

    ReplyDelete

Post a Comment