RNMoVali 2.0.1

RNMoVali 2.0.1

测试已测试
语言语言 SwiftSwift
许可证 自定义
发布最新发布2016年10月
SPM支持 SPM

Kawakami Motoki维护。



RNMoVali 2.0.1

RNMoVali

这是一个 Swift 的模型验证器

功能

  • 不依赖于外部框架。
  • 轻量级。

如何使用

模型类实现 RNValidatable 协议。

class ProfileEntity : RNValidatable {
    var firstName:String
    var lastName:String

    init(firstName:String, lastName:String){
        self.firstName = firstName
        self.lastName = lastName
    }

    func bindConstraint(binder: RNConstraintBinder) {
        binder.bind(firstName, accessTag: "firstName")
            .add(constraint:RNConstraintLength(max: 10, errorMessage: "Invalid range"))
            .add(constraint:RNConstraintAlphabet(errorMessage: "Only alphabets."))
        binder.bind(lastName, accessTag: "lastName")
            .add(constraint:RNConstraintLength(max: 10, errorMessage: "Invalid range"))
            .add(constraint:RNConstraintAlphabet(errorMessage: "Only alphabets."))
    }
}

RNValidator 调用 validate 方法。参数是实现了 RNValidatable 协议的模型。

let results = RNValidator.sharedInstance.validate(model)
if results.isInvalid {
    if let firstNameErrorMessages = results.fields["firstName"] {
        firstNameMessageLabel.text = firstNameErrorMessages.messages.joined(separator:"\n")
    }
    if let lastNameErrorMessages = results.fields["lastName"] {
        lastNameMessageLabel.text = lastNameErrorMessages.messages.join(separator:"\n")
    }
}

运行时要求

  • iOS 10 及以上
  • Swift 3.0 及以上

安装和设置

支持 CocoaPods

pod 'RNMoVali', '~> 2.0'

注意

我是一个日本程序员,所以我在写英语时有些困难。您可能会发现一些错别字或错误,但请友好地提供反馈。

感谢您的支持和善意。