Android表單校驗器,讓你的文字校驗清晰化

2021-07-28 05:48:58 字數 2192 閱讀 7003

對於一般專案的業務層,註冊頁的輸入框都密密麻麻,對輸入文字的檢驗也千奇百怪,在應對多個文字框文字進行判斷時,總是if、else不僅讓我們的**寫的過長,而且有時又會造成邏輯混亂,這時我們移動端可以採用表單的模式把當前模組中的所有文字框放入乙個表單校驗器中,統一進行驗證處理。lz封裝了乙個表單驗證器,支援textview及其子類。

lz定義了乙個規則介面,所有子規則都實現了這個rule,定義了兩個通用方法

public inte***ce rule 

來看下具體實現類

,最基本的非空判斷,validate做校驗處理,geterrormessage獲取錯誤資訊

public class requiredrule implements rule 

@override

public boolean

validate(string value)

@override

public string geterrormessage()

}

封裝的驗證器,lz把view和校驗規則放在map裡,value是rule型別的陣列,也就是說乙個view可以對應多個規則,可以對操作的文字框進行多種型別的判斷

public class validator 

public void

unregister(textview textview)

public void

validateall(validateresultcall resultcall) }}

if (isture)

resultcall.onsuccess();

} public boolean

validate(edittext edittext) else }}

return true;

}}

我又封裝了正則的base類

public class regexrule implements rule 

@override

public boolean

validate(string value)

@override

public string geterrormessage()

}

用來做郵箱校驗的regexrule的子類

public class emailrule extends regexrule

}

在build.gradle中新增

compile 

'com.yuhoon.validator:validator:v0.3'

例項validator

validator validator = new validator();

註冊控制項及驗證規則

validator.register((edittext) findviewbyid(r.id.edt_password

), new requiredrule("密碼不能為空"), new uniformityrule((edittext) findviewbyid(r.id.edt_repassword

), "兩次密碼輸入不一致"));

validator.register((edittext) findviewbyid(r.id.edt_repassword

), new requiredrule("密碼不能為空"));

統一處理校驗結果

validator.validateall(new validateresultcall() 

@override

public void

onfailure(textview view,string message) });

如果是單一控制項也可以直接呼叫validate去做校驗,返回值為boolean,true為驗證通過

if (validator.validate((edittext) findviewbyid(r.id.edt_password

))) else

需要新增新規則的小夥伴,如果是普通規則實現rule介面,如果是正規表示式,就繼承regexrule。

demo位址

elementUI的表單校驗

參考 使用 只需要通過rules屬性傳入約定的驗證規則,並將 form item 的prop屬性設定為需校驗的欄位名即可。校驗規則參見 async validator 1.在from表單上配置屬性rules 2.資料模型中編寫校驗規則 pageformrules templateid pagenam...

antd 校驗表單時觸發對其他表單的校驗

import from antd import react,from react class componenta extends component param rule param vaule param callback checkpsd rule,value,callback render ...

開發常用 校驗表單 賬號的校驗

要求 必填,僅支援數字字母下劃線組合,不支援特殊字元,賬號長度應為6 20 html js 引入 validate.js import validate from utils validate validate.js檔案內容 檢查賬號是否合法,只允許字母數字下劃線組合 function checka...