Android 非空格式验证 框架的使用

一.Android Validation 的基本功能简介

1.Validation的简介:
这是一个简单的函数库,使用注释语法来验证用户输入的表单信息。你仅需编写几行代码就可以实现一些表单验证功能,且显示的所有视图都将反馈给用户。它还带有一个可扩展的在线验证选项,这样你就可以为定制视图编写自己的验证信息及适配器了

2.Validation的功能:

  • Required (必填)
  • NotBlank (非空数据)
  • Digits (仅数字)
  • Email (电子邮件)
  • 2选一必填项验证
  • 重复密码验证
  • HTTPURL (Http URL)
  • 手机号码格式验证等

二.Android Validation 的基本用法

1.基本用法:
先创建个表单Form类用来装控件
然后创建Validate类,将被验证EditText控件传入
将这个Validate类addValidator加入非空类型NotEmptyVerifior
Form表单addValidates这个Validate类即可
最后调用form.validate()验证即可,返回true表示验证通过。

2.代码演示:
使用 Validation 进行基本的非空验证、2选1必填验证、邮箱、重复密码、网址、手机号验证

布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <EditText
        android:id="@+id/et_tel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:singleLine="true" />

    <EditText
        android:id="@+id/et_password1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

    <EditText
        android:id="@+id/et_password2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

    <EditText
        android:id="@+id/et_or1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="二选一:男" />

    <EditText
        android:id="@+id/et_or2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="二选一:女" />

    <Button
        android:id="@+id/btn_ok"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="注册" />

</LinearLayout>


控制逻辑

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.throrinstudio.android.common.libs.validator.Form;
import com.throrinstudio.android.common.libs.validator.Validate;
import com.throrinstudio.android.common.libs.validator.validate.ConfirmValidate;
import com.throrinstudio.android.common.libs.validator.validate.OrTwoRequiredValidate;
import com.throrinstudio.android.common.libs.validator.validator.NotEmptyValidator;
import com.throrinstudio.android.common.libs.validator.validator.PhoneValidator;

public class MainActivity extends Activity {
	private EditText et_tel, et_password1, et_password2, et_or1, et_or2;
	private Button btn_ok;
	private Form form;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
		initValidate();
	}

	private void initValidate() {
		form = new Form();

		Validate telValidate = new Validate(et_tel);
		telValidate.addValidator(new NotEmptyValidator(this));// 手机号非空
		telValidate.addValidator(new PhoneValidator(this));// 手机号格式验证
		ConfirmValidate confirmValidate = new ConfirmValidate(et_password1,
				et_password2);// 重复密码验证
		confirmValidate.addValidator(new NotEmptyValidator(this));// 密码非空验证
		OrTwoRequiredValidate orValidate = new OrTwoRequiredValidate(et_or1,
				et_or2);// 二选一必填项验证

		form.addValidates(orValidate);
		form.addValidates(confirmValidate);
		form.addValidates(telValidate);
	}

	private void initView() {
		et_or1 = (EditText) this.findViewById(R.id.et_or1);
		et_or2 = (EditText) this.findViewById(R.id.et_or2);
		et_password1 = (EditText) this.findViewById(R.id.et_password1);
		et_password2 = (EditText) this.findViewById(R.id.et_password2);
		et_tel = (EditText) this.findViewById(R.id.et_tel);
		btn_ok = (Button) this.findViewById(R.id.btn_ok);
		btn_ok.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				boolean isOk = form.validate();
				if (isOk) {
					Toast.makeText(MainActivity.this, "验证通过",
							Toast.LENGTH_SHORT).show();
				} else {
					Toast.makeText(MainActivity.this, "验证不通过",
							Toast.LENGTH_SHORT).show();
				}
			}
		});
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值