Android 表单验证框架:AValidations
来源:互联网 发布:南京软件企业排名 编辑:程序博客网 时间:2024/05/23 01:16
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>
转自:http://www.codeceo.com/article/android-avalidations.html
0 0
- Android 表单验证框架:AValidations
- Android 表单验证开源框架 saripaar
- Android之EditText表单验证框架
- Android框架之Android Validation表单验证框架
- Android框架之Android Validation表单验证框架
- jquery 表单验证框架
- jquery 表单验证框架
- Webx框架:表单验证
- Struts2表单验证框架
- CI框架表单验证
- JUI框架表单验证
- CI框架表单验证
- CI框架表单验证
- js通用表单验证框架
- 表单客户端验证框架jsvalidation
- 我的框架:表单验证
- modernizr框架之表单验证
- Laravel框架表单验证详解
- 虚拟机的使用
- 第六周项目1-分数类的雏形
- View-消息(一)
- LaTeX之代码语法高亮
- android ListView下拉刷新拉取网络数据
- Android 表单验证框架:AValidations
- HD 1159 Common Subsequence (最长公共子序列)
- 【笔记】 《js权威指南》- 第6章 对象 - 6.5 - 6.6 属性操作2
- Linux内核分析:实验六
- boost 正则表达式测试
- 用中国剩余定理解 POJ1006
- 【Java学习-J.160331.0.4】笔记3-Linux基础
- POJ 1700 过河坐船最短时间问题
- Vrituoso安装经验总结