这是一个 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")
}
}
支持 CocoaPods
pod 'RNMoVali', '~> 2.0'
我是一个日本程序员,所以我在写英语时有些困难。您可能会发现一些错别字或错误,但请友好地提供反馈。
感谢您的支持和善意。