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 } }