【问题标题】:'ValidationError' is not convertible to 'Error';did you mean to use 'as!' to force downcast?'ValidationError' 不能转换为 'Error';你的意思是使用 'as!'强迫沮丧?
【发布时间】:2017-06-19 07:25:02
【问题描述】:

您好,我是 Swift 开发新手。我正在开发用于用户输入字段验证的代码。我已经导入了 ValidatorSwiftValidator 库。我无法摆脱这个错误。我也遵循了更新的语法,但错误仍然存​​在。

代码如下:

func addFieldValidation()  {

        var emailRules = ValidationRuleSet<String>()
        emailRules.add(rule: ValidationRulePattern(pattern: .EmailAddress, error: ValidationError(textField:emailTextField, error: "Enter valid email address"))) //****<---Getting error here******


        emailTextField.validationRules=emailRules;

        emailTextField.validateOnInputChange(enabled:  true);

        emailTextField.validationHandler = { result in
            switch result {
            case .valid:
                self.enableSignUp(true)
            case .invalid(let failureErrors):
                let messages = failureErrors.map { $0.message }//****<---Getting error here as "Value of type 'Error' has no member 'message' "******
                print(messages)
                self.enableSignUp(false)
            }
        }


    }

提前致谢。

【问题讨论】:

  • 您是否尝试验证电子邮件地址是否有效?
  • 是的。使用验证器..这是一年前开发的遗留代码。现在我正在更新更改。 @Alwin

标签: ios swift validation compiler-errors xcode8


【解决方案1】:

我有不同的电子邮件验证方式

// email validation method
    func isValidEmail(emailAddress:String) -> Bool {
        // print("validate calendar: \(testStr)")
        let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"

        let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
        return emailTest.evaluate(with: emailAddress)
    }

【讨论】:

  • 我想使用 Validator 或 SwiftValidator 进行验证。我对你发送的 sn-p 很熟悉。感谢阿尔文的快速回复。期待与我发布的类似 sn-p 的解决方案。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-18
  • 1970-01-01
  • 2012-01-18
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多