Skip to content

Instantly share code, notes, and snippets.

@Qata
Last active November 28, 2016 22:42
Show Gist options
  • Save Qata/a26872c4b6cadfde6240b2b8a7af5b02 to your computer and use it in GitHub Desktop.
Save Qata/a26872c4b6cadfde6240b2b8a7af5b02 to your computer and use it in GitHub Desktop.
class ViewController: UIViewController {
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
func nameValidation(for field: UITextField) -> Signal<Bool, NoError> {
return field
.reactive
.continuousTextValues
.skipNil()
.map { $0.characters.count > 3 }
}
override func viewDidLoad() {
super.viewDidLoad()
let validUserNameSignal = nameValidation(for: nameTextField)
let lastNameFieldSignal = nameValidation(for: lastNameTextField)
let formValidation =
SignalProducer(signal: validUserNameSignal.combineLatest(with: lastNameFieldSignal))
.map { $0 && $1 }
.prefix(value: false)
formValidation.startWithValues {
print($0)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment