使用saripaar对android输入控件进行快速验证

saripaar是个android的第三方快速校验,使用注解快速添加验证规则。
public class LoginActivity extends Activity  implements 

ValidationListener

   {
   @Required(order = 1, message="用户名不能为空")
    private EditText tbxUser=null;
    @Required(order = 2,message="密码不能为空")
    private EditText tbxPsw =null;
    private Validator validator;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }
        //初始化监听
        initListener();
        //实例化校验类库
        validator = new Validator(this); validator.setValidationListener(this);
        }

    /**
     * 初始化监听
     */
    private void initListener() {
        
        Button btn = (Button)this.findViewById(R.id.btnLogin);
        tbxUser=(EditText)this.findViewById(R.id.txtUser);
        tbxPsw=(EditText)this.findViewById(R.id.txtPassword);
        
        btn.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
                validator.validate();
            }


        });
    }
    private void login() {
                 Dialog.showAlert(“Logining”, this );
             };
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void preValidation() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void onSuccess() {
        // TODO Auto-generated method stub
        login();
        }
    @Override
    public void onFailure(View failedView, Rule<?> failedRule) {
        // TODO Auto-generated method stub
        String message = failedRule.getFailureMessage();
        if (failedView instanceof EditText) {
         failedView.requestFocus();
         ((EditText) failedView).setError(message);
         } 
         else { Dialog.showToast(message,this);
      }
   }
 @Override
    public void onValidationCancelled() {
        // TODO Auto-generated method stub
        
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android知识点总结

3-AVI--Activity与Fragment的数据传递

1042
来自专栏cloudskyme

android使用Activity

第一个例子,显示网址 首先创建工程 ? 按照提示填入 我使用的是2.3版本,所以Min SDK Version填10 修改/res/layout/下main....

3393
来自专栏何俊林

一款使用RxJava+Retrofit+MVP的快播App开源啦!

《快播》,仿网易云音乐UI,整体采用RxJava+Retrofit+MVP的架构,支持在线视频播放,在线图片浏览等功能。

1124
来自专栏吴小龙同學

Android基于XMPP开发(二)【连接服务器】

Android基于XMPP开发(一)【openfire服务器配置】 准备阶段 砍柴不误磨刀工,欲XMPP开发,先引入Smack,具体见https://gi...

2584
来自专栏Spring相关

探究Android活动的小技巧

当我们在查看别人的代码的时候可能不能第一眼就发现首次的活动是哪一个,我们可以通过以下的方法来找出当前的主活动是哪一个:

622
来自专栏向治洪

语音兰度短信

原理:获取来电短信内容,调用系统的语音朗读功能。 效果图: ? 具体代码如下: 1,获取短信息: package com.internal.message;  ...

1657
来自专栏Android开发与分享

【Android】ButterKnife 8.x详解

39110
来自专栏静晴轩

Android之Intent用法全面总结

[代码] 调用拨号程序 // 给移动客服10086拨打电话 Uri uri = Uri.parse("tel:10086"); Intent intent = ...

3187
来自专栏项勇

笔记40 | Android通讯之Intent的简单使用

1757
来自专栏Spring相关

Android引入布局

741

扫码关注云+社区