Android 表单验证 AValidations

Apache
Java
Android
2014-11-22
红薯

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>
的码云指数为
超过 的项目
加载中

评论(9)

bobo2cj
bobo2cj
界面是什么手机? AValidations
woquanke
woquanke 软件作者
上oschina首页 ,红薯推荐 ,一天成为热门项目85,这就是AValidations4, 一个免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布,超级容易扩展的android表单验证的小框架 http://www.oschina.net/p/avalidations
woquanke
woquanke 软件作者
AValidations android表单验证框架http://www.oschina.net/p/avalidations,睡觉前广告广告
woquanke
woquanke 软件作者
AValidations android表单验证框架http://www.oschina.net/p/avalidations,爱他就一起来
woquanke
woquanke 软件作者
AValidations 收藏超过150了,纪念纪念, 一个免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布,超级容易扩展的android表单验证的小框架 http://www.oschina.net/p/avalidations
xmlspyspring
xmlspyspring
应该添加默认置灰功能 AValidations
woquanke
woquanke 软件作者
AValidations今日还能热门吗?一个免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布,超级容易扩展的android表单验证的小框架 http://www.oschina.net/p/avalidations
itas109
itas109
挺不错的 AValidations
woquanke
woquanke 软件作者
#AValidations# 收藏335了,纪念纪念, 一个免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布,超级容易扩展的android表单验证的小框架 http://www.oschina.net/p/avalidations

暂无资讯

暂无问答

小项目只是汇总

## 项目知识点汇总 ## 2015/10/18 20:42:13 **** ### 登录和注册界面 ### * SharedPherence:保存用户登陆的信息,用于下次便捷登陆 * AValidations:第三方框架,用于设置输入格式的判断(正...

2015/11/03 21:55
124
0
OSChina 技术周刊第十期,每周技术抢先看!

每周技术抢先看,总有你想要的! 移动开发 【软件】Android 表单验证框架 - AValidations 【软件】Git@OSC 的 iPhone 客户端 【软件】Git@OSC 的 Android 客户端 【博客】使用gradle构建and...

2014/11/24 09:05
110
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部