Swift 超簡單的驗證框架ValidateSwift

ZY_FlyWay發表於2019-04-23

ValidateSwift

gitHub地址
在這裡插入圖片描述

簡介


使用起來超級簡單的text驗證框架,從此遠離一堆程式碼驗證一個表單。

 

示例


詳細例子可以執行示例程式檢視,克隆這個倉庫,在Example資料夾下執行pod install

 

支援


  • iOS 8.0
  • Swift4.0+

 

CocoaPods安裝


Podfile裡新增:

pod 'ValidateSwift'

 

使用


單個TextFlied

  • 如果只需要驗空

    passwordText.validate(emptyInfo: "請輸入XX")
    

    emptyInfo引數可以不填,預設提示placeholder

  • 規則驗證

     phoneText.validate(rulers: [Rulers.required,Rulers.phone]
    

 

多個TextFlied

首先需要遵守ValidateAble協議

class ValidateArrayViewController:ValidateAble{

}
  • 如果只需要驗空

     if validateTexts(textsArray: [nameText,phoneText,emailText]){
           
     }
    

    更簡單的方式,你還可以使用:(會深度遍歷所有self.view的子TextFlied,如果沒有就提示placeholder)

    if checkSubmitView(self.view){
                
    }
    
  • 規則驗證

    if validateTexts(rulerTexts: getRulerText()) {
               
    }
    
    func getRulerText() -> [RulerText] {
             let passwordRulerText = RulerText.init(textfelid: passwordText, textRulers: [Rulers.required,Rulers.okpwd], emptyInfo: "請輸入密碼")
    
            let phoneRulerText = RulerText.init(textfelid: phoneText, textRulers: [Rulers.required,Rulers.phone])
    
            let emailRulerText = RulerText.init(textfelid: emailText, textRulers: [Rulers.required,Rulers.email])
    
            let idcardRulerText = RulerText.init(textfelid: idcardText, textRulers: [Rulers.required,Rulers.idcard])
    
            let numberRulerText = RulerText.init(textfelid: numberText, textRulers: [Rulers.number])
    
            return [passwordRulerText,phoneRulerText,emailRulerText,idcardRulerText,numberRulerText]
     }
    
    

目前支援規則

public enum Rulers:Int{
    case required = 0
    case phone
    case email
    case okpwd
    case idcard
    case bankcard
    case number
}

希望可以共同維護,遇到的多種規則,讓它越來越強大,讓驗證越來越簡單。

相關文章