#ios #swift #swift5
#iOS #swift #swift5
Вопрос:
проверка электронной почты и пароля в ios swift5:
ошибка:
1. Не удается найти ‘isValidEmail’ в области видимости
2. Объявление действительно только в области файла
let email = txtemail.text
guard txtemail.validate([isValidEmail]) else {
print("Invalid email/password. Please try again.")
return
}
extension String {
//Validate Email
var isEmail : Bool {
do {
let regex = try NSRegularExpression(pattern: "[A-Z0-9a-z._% -] @[A-Za-z0-9.-] \.[A-Za-z]{2,}", options: .caseInsensitive)
return regex.firstMatch(in: self, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, self.count)) != nil
} catch {
return false
}
}
var isAlphanumeric: Bool {
return !isEmpty amp;amp; range(of: "[^a-zA-Z0-9]", options: .regularExpression) == nil
}
}
Ответ №1:
Вы расширили строку, поэтому вам следует вызвать ее проверку. Также txtemail
, вероятно @Outlet
, поэтому нам нужно развернуть его текст. После этого мы проверяем строку, если она действительна.
guard let email = txtemail.text, email.isEmail else {
print("Invalid email/password. Please try again.")
return
}