Android 表單驗證框架:AValidations
AValidations 是 一個免費的、開源的、簡易的、遵循Apache Licence 2.0開源協議釋出,超級容易擴充套件的android表單驗證的小框架
使用方法:
1.下載zip或者克隆AValidations專案
2.匯入Eclipse,右鍵工程->preference->Android->library->Add,選擇AValidations工程加入後 apply應用
3.繼承ValidationExecutor寫出自己的校驗器:
public class UserNameValidation extends ValidationExecutor { public boolean doValidate(Context context, String text) { String regex = "^[a-zA-Z](?=.*?[a-zA-Z])(?=.*?[0-9])[a-zA-Z0-9_]{7,11}$"; boolean result = Pattern.compile(regex).matcher(text).find(); if (!result) { Toast.makeText(context, context.getString(R.string.e_username_hint), Toast.LENGTH_SHORT).show(); return false; } return true; } }
4.使用EditTextValidator進行校驗:
public class LoginActivity extends Activity implements OnClickListener{ private EditText usernameEditText; private EditText passwordEditText; private Button loginButton; private EditTextValidator editTextValidator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); usernameEditText = (EditText) findViewById(R.id.login_username_edittext); passwordEditText = (EditText) findViewById(R.id.login_password_edittext); loginButton = (Button) findViewById(R.id.login_button); loginButton.setOnClickListener(this); editTextValidator = new EditTextValidator(this) .setButton(loginButton) .add(new ValidationModel(usernameEditText,new UserNameValidation())) .add(new ValidationModel(passwordEditText,new PasswordValidation())) .execute(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.login_button: if (editTextValidator.validate()) { Toast.makeText(this, "通過校驗", Toast.LENGTH_SHORT).show(); } break; } }
5.如果需要實現沒有填寫表單時表單提交按鈕不可點選效果 需要設定setButton(view)和寫Button背景的selector,如:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/red_btn_normal" android:state_focused="true" android:state_pressed="false"/> <item android:drawable="@drawable/red_btn_selected" android:state_focused="true" android:state_pressed="true"/> <item android:drawable="@drawable/red_btn_selected" android:state_focused="false" android:state_pressed="true"/> <item android:drawable="@drawable/red_btn_disable" android:state_enabled="false"/> <item android:drawable="@drawable/red_btn_normal"/> </selector>
相關文章
- JavaScript 表單及表單驗證JavaScript
- bootstrap表單驗證boot
- javascript表單驗證JavaScript
- Laravel 表單驗證Laravel
- JavaScript 表單驗證JavaScript
- Django表單驗證Django
- jquery 表單驗證jQuery
- Js表單驗證JS
- 表單required 必需驗證UI
- 表單資料驗證
- HTML 表單驗證概述HTML
- bootstrapValidator 表單驗證boot
- 表單驗證——筆記筆記
- angularjs表單驗證AngularJS
- JavaScript表單驗證事件JavaScript事件
- ElementUi rules表單驗證UI
- 表單驗證<AngularJs>AngularJS
- Web 表單驗證 javascriptWebJavaScript
- 輸入表單驗證
- 記錄hyperf框架表單驗證中的細枝末節框架
- Lumen 仿 Laravel 表單驗證Laravel
- 前端表單驗證的目的前端
- 表單驗證教程簡介
- Layui 自定義表單驗證UI
- vue表單驗證你真的會了嗎?元件之表單驗證(form)validateVue元件ORM
- iview表單驗證問題 Select驗證必填失敗,以及表單物件巢狀陣列驗證方法View物件巢狀陣列
- elementui表單驗證 對比兩個表單大小UI
- 走進AngularJs(九)表單及表單驗證AngularJS
- Laravel 自定義表單驗證-自定義驗證規則Laravel
- 表單驗證使用擴充套件套件
- 純CSS實現表單驗證CSS
- jQuery表單驗證效果詳解jQuery
- jquery.validate 表單驗證jQuery
- validate表單驗證外掛
- 表單驗證工具類ValidationUtils
- JSON Schema與表單驗證JSON
- HTML 互動式表單驗證HTML
- JavaScript表單不為空驗證JavaScript