Android 非空格式验证框架---Android Validation
Validation是一个简单的函数库,使用注释语法来验证用户输入的表单信息。你仅需编写几行代码就可以实现一些表单验证功能,且显示的所有视图都将反馈给用户。它还带有一个可扩展的在线验证选项,这样你就可以为定制视图编写自己的验证信息及适配器。Validation的功能如下:Required(必填)、NotBlank(非空数据)、Digits(仅数字)、Email(邮箱)、2选1必填项验证、重复密码验证、HttpUrl、手机号码格式等。可以到网上找Android-Validator-master的ADT库,我还没找到有直接jar的库,用Android Studio导入也很简单。
1 package com.zhang.validationdemo; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.View; 6 import android.widget.Button; 7 import android.widget.EditText; 8 import android.widget.Toast; 9 10 import com.throrinstudio.android.common.libs.validator.Form; 11 import com.throrinstudio.android.common.libs.validator.Validate; 12 import com.throrinstudio.android.common.libs.validator.validate.ConfirmValidate; 13 import com.throrinstudio.android.common.libs.validator.validate.OrTwoRequiredValidate; 14 import com.throrinstudio.android.common.libs.validator.validator.NotEmptyValidator; 15 import com.throrinstudio.android.common.libs.validator.validator.PhoneValidator; 16 17 18 public class MainActivity extends AppCompatActivity { 19 20 private EditText et_tel, et_password1, et_password2, et_or1, et_or2; 21 private Button btn_ok; 22 private Form form; 23 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.activity_main); 28 29 et_or1 = (EditText) this.findViewById(R.id.et_or1); 30 et_or2 = (EditText) this.findViewById(R.id.et_or2); 31 et_password1 = (EditText) this.findViewById(R.id.et_password1); 32 et_password2 = (EditText) this.findViewById(R.id.et_password2); 33 et_tel = (EditText) this.findViewById(R.id.et_tel); 34 btn_ok = (Button) this.findViewById(R.id.btn_ok); 35 36 form = new Form(); 37 38 Validate telValidate = new Validate(et_tel); 39 telValidate.addValidator(new NotEmptyValidator(this));// 手机号非空 40 telValidate.addValidator(new PhoneValidator(this));// 手机号格式验证 41 42 ConfirmValidate confirmValidate = new ConfirmValidate(et_password1, et_password2);// 重复密码验证 43 44 // confirmValidate.addValidator(new NotEmptyValidator(this));// 密码非空验证 45 OrTwoRequiredValidate orValidate = new OrTwoRequiredValidate(et_or1, 46 et_or2);// 二选一必填项验证 47 48 form.addValidates(orValidate); 49 form.addValidates(confirmValidate); 50 form.addValidates(telValidate); 51 52 btn_ok.setOnClickListener(new View.OnClickListener() { 53 54 @Override 55 public void onClick(View arg0) { 56 boolean isOk = form.validate(); 57 if (isOk) { 58 Toast.makeText(MainActivity.this, "验证通过", 59 Toast.LENGTH_SHORT).show(); 60 } else { 61 Toast.makeText(MainActivity.this, "验证不通过", 62 Toast.LENGTH_SHORT).show(); 63 } 64 } 65 }); 66 } 67 }