Guest User

Untitled

a guest
Jul 7th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. class LoginViewController_ByExample: UIViewController {
  2.  
  3. private var user = InputUser(email: "", password: "")
  4. private let userContract = InputUserContract()
  5. private let formValidator = ModelValidator()
  6.  
  7. // MARK: - UITextFieldDelegate
  8.  
  9. func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
  10. let delayed = {
  11. self.user.email = self.emailField.text ?? ""
  12. self.user.password = self.passwordField.text ?? ""
  13.  
  14. // Validate in 1 line.
  15. let valid = (try? self.formValidator.validate(self.user, using: self.userContract)) ?? false
  16.  
  17. // Update UI.
  18. // E.g. hide/display Login button based on 'valid' state.
  19. self.loginButton.isHidden = !valid
  20. }
  21.  
  22. onMainQueue {
  23. delayed()
  24. }
  25.  
  26. return true
  27. }
  28. }
Add Comment
Please, Sign In to add comment