   open weak var textField: ErrorTextField?
   
   open var autoValidationType: AutoValidationType = .default
-  open var autoValidateOnlyIfErrorIsShownOnce = true
   open var isErrorShownOnce = false
   
   public init(textField: ErrorTextField) {

  public enum AutoValidationType {
    case none
    case `default`
    case custom((ErrorTextField) -> Void)
  }
}

  @objc
  private func checkIfErrorHasGone() {
    guard let textField = textField else { return }
    
    switch autoValidationType {
    case .none: break
    case .custom(let closure):
      closure(textField)
    case .default:
      guard isErrorShownOnce else { return }
      textField.isValid()
    case .always:
      textField.isValid()
    }
  }
  
