Я использую RxSwift
pod 'RxSwift', '~> 4.0'
pod 'RxCocoa', '~> 4.0'
Я видел примеры проверки имени пользователя, пароля, так как он работает как
func validateUsername(_ username: String) -> Observable<ValidationResult> {
if username.isEmpty {
return .just(.empty)
}
// this obviously won't be
if username.rangeOfCharacter(from: CharacterSet.alphanumerics.inverted) != nil {
return .just(.failed(message: "Username can only contain numbers or digits"))
}
// this obviously won't be
if username.rangeOfCharacter(from: CharacterSet.alphanumerics.inverted) != nil {
return .just(.failed(message: "Username can only contain numbers or digits"))
}
let loadingValue = ValidationResult.validating
return API
.usernameAvailable(username)
.map { available in
if available {
return .ok(message: "Username available")
}
else {
return .failed(message: "Username already taken")
}
}
.startWith(loadingValue)
}
Теперь мне нужно сделать валидатор для электронной почты, я не сделалничего не найдете в примерах, как это сделать?
Раньше я использовал Validator https://github.com/SwiftValidatorCommunity/SwiftValidator
validator.registerField (emailTextField, errorLabel: emailErrorLabel, rules: [RequiredRule (), EmailRule (сообщение: "Неверный адрес электронной почты")])
Но в Rx я совершенно не понимаю, как это исправить?
Спасибо.