Android校驗庫 - Android Validation
簡單易用的Android校驗庫。
已內置支持的校驗方式
- Required (必填)
- NotBlank (非空數據)
- Digits (僅數字)
- Date (日期)
- Email (電子郵件)
- EqualTo (與指定值相同)
- Host (主機地址)
- HTTPURL (Http URL)
- IPv4 (IPv4地址)
- LengthInRange (指定長度范圍)
- LengthInMin (最小長度)
- LengthInMax (最大長度)
- Numeric (數值)
- CreditCard (信用卡號)
- ValueInRange (最值范圍)
- ValueInMin (最小值)
- ValueInMax (最大值)
- ChineseMobilePhone (中國的手機號碼) </ul>
如何使用?
方式 1:對單個EditText進行校驗
1. 構建校驗配置
Configuration conf = Configuration.buildIn(context, BuildInTypes.Required, "必填選項!"); conf.add(BuildInTypes.LengthInMax, 20); conf.add(BuildInTypes.Email);
2. 對EditText執行校驗
EditText edittext = (EditText) findViewById(R.id.single_test); ResultWrapper result = FormValidator.testField(edittext, conf);
方式 2:對整個Layout內的EditText全部校驗
通過 View ID 來綁定校驗配置信息
1. 對表單內各個EditText綁定其校驗配置
final FormValidator fv = new FormValidator(); // FormValidator.configFor(*Config instance*, *view id for EditText*) fv.configFor(Configuration.buildIn(context, BuildInTypes.ChineseMobilePhone), R.id.form_field_1); fv.configFor(Configuration.buildIn(context, BuildInTypes.CreditCard), R.id.form_field_2); fv.configFor(Configuration.buildIn(context, BuildInTypes.Digits), R.id.form_field_3); fv.configFor(Configuration.buildIn(context, BuildInTypes.Email), R.id.form_field_4); fv.configFor(Configuration.buildIn(context, BuildInTypes.EqualTo, "chenyoca"), R.id.form_field_5); fv.configFor(Configuration.buildIn(context, BuildInTypes.Host), R.id.form_field_6); fv.configFor(Configuration.buildIn(context, BuildInTypes.HTTP_URL), R.id.form_field_7); fv.configFor(Configuration.buildIn(context, BuildInTypes.LengthInMax, 5), R.id.form_field_8); fv.configFor(Configuration.buildIn(context, BuildInTypes.LengthInMin, 4), R.id.form_field_9); fv.configFor(Configuration.buildIn(context, BuildInTypes.LengthInRange, 4,8), R.id.form_field_10); fv.configFor(Configuration.buildIn(context, BuildInTypes.NotBlank), R.id.form_field_11); fv.configFor(Configuration.buildIn(context, BuildInTypes.Numeric), R.id.form_field_12); fv.configFor(Configuration.buildIn(context, BuildInTypes.ValueInMax, 100), R.id.form_field_13); fv.configFor(Configuration.buildIn(context, BuildInTypes.ValueInMin, 20.0), R.id.form_field_14); fv.configFor(Configuration.buildIn(context, BuildInTypes.ValueInRange, 18, 30), R.id.form_field_15);
2. 對表單內執行校驗配置
final LinearLayout form = (LinearLayout) findViewById(R.id.form);// 1. 中斷校驗:按Layout的ChildView順序校驗,遇到校驗失敗則中斷。 boolean passed = fv.testForm(form) // 1. 連續校驗:按Layout的ChildView順序校驗,遇到校驗失敗繼續,不中斷。 boolean passed = fv.testFormAll(form)</pre> <h2><a class="anchor" href="/misc/goto?guid=4959554771433921352" name="user-content-如何擴展"></a>如何擴展?</h2>
通過 Configuration的擴展接口,添加你自定義的校驗實現類
// 1. 添加到已創建的Configuration中:conf.add(new TestRunner("出錯時,此消息被返回并顯示到EditText中") { @Override public boolean test(CharSequence inputValue) { // 校驗通過時返回 true return inputValue.equal("AABB"); } }); // 2. 通過自定義TestRunner創建Configuration: Configuration.custom(context, new TestRunner("出錯時,此消息被返回并顯示到EditText中") { @Override public boolean test(CharSequence inputValue) { return false; } })</pre>https://github.com/chenyoca/android-validation
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!