开源Android校验库 - Android Validation

Android校验库 - Android Validation

简单易用的Android校验库。

已内置支持的校验方式

  • Required (必填)
  • NotBlank (非空数据)
  • Digits (仅数字)
  • Date (日期)
  • Email (电子邮件)
  • EqualTo (与指定值相同)
  • Host (主机地址)
  • HTTPURL (Http URL)
  • IPv4 (IPv4地址)
  • LengthInRange (指定长度范围)
  • LengthInMin (最小长度)
  • LengthInMax (最大长度)
  • Numeric (数值)
  • CreditCard (信用卡号)
  • ValueInRange (最值范围)
  • ValueInMin (最小值)
  • ValueInMax (最大值)
  • ChineseMobilePhone (中国的手机号码)

如何使用?

Gradle on Android Studio

Comming soon

方式 1:对单个EditText进行校验

1. 构建校验配置


    Configuration conf = Configuration.buildIn(context, BuildInTypes.Required, "必填选项!");
    conf.add(BuildInTypes.LengthInMax, 20);
    conf.add(BuildInTypes.Email);

2. 对EditText执行校验


    EditText edittext = (EditText) findViewById(R.id.single_test);
    ResultWrapper result = FormValidator.testField(edittext, conf);

方式 2:对整个Layout内的EditText全部校验

通过 View ID 来绑定校验配置信息

1. 对表单内各个EditText绑定其校验配置


    final FormValidator fv = new FormValidator();
    // FormValidator.configFor(*Config instance*, *view id for EditText*)
    fv.configFor(Configuration.buildIn(context, BuildInTypes.ChineseMobilePhone), R.id.form_field_1);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.CreditCard), R.id.form_field_2);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.Digits), R.id.form_field_3);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.Email), R.id.form_field_4);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.EqualTo, "chenyoca"), R.id.form_field_5);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.Host), R.id.form_field_6);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.HTTP_URL), R.id.form_field_7);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.LengthInMax, 5), R.id.form_field_8);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.LengthInMin, 4), R.id.form_field_9);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.LengthInRange, 4,8), R.id.form_field_10);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.NotBlank), R.id.form_field_11);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.Numeric), R.id.form_field_12);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.ValueInMax, 100), R.id.form_field_13);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.ValueInMin, 20.0), R.id.form_field_14);
    fv.configFor(Configuration.buildIn(context, BuildInTypes.ValueInRange, 18, 30), R.id.form_field_15);

2. 对表单内执行校验配置


    final LinearLayout form = (LinearLayout) findViewById(R.id.form);

    // 1. 中断校验:按Layout的ChildView顺序校验,遇到校验失败则中断。
    boolean passed = fv.testForm(form)

    // 1. 连续校验:按Layout的ChildView顺序校验,遇到校验失败继续,不中断。
    boolean passed = fv.testFormAll(form)

如何扩展?

通过 Configuration的扩展接口,添加你自定义的校验实现类


    // 1. 添加到已创建的Configuration中:

    conf.add(new TestRunner("出错时,此消息被返回并显示到EditText中") {
        @Override
        public boolean test(CharSequence inputValue) {
            // 校验通过时返回 true
            return inputValue.equal("AABB");
        }
    });

    // 2. 通过自定义TestRunner创建Configuration:

    Configuration.custom(context, new TestRunner("出错时,此消息被返回并显示到EditText中") {
        @Override
        public boolean test(CharSequence inputValue) {
            return false;
        }
    })

开源Android校验库 - Android Validation

时间: 2024-08-04 08:49:28

开源Android校验库 - Android Validation的相关文章

[开源项目] Android校验库 - FireEye

简单易用的Android校验库. 这是一个简单Android校验库,按配置来验证用户输入的表单信息. 仅仅须要几行代码,就可以验证用户输入,而且将验证错误反馈给用户. 它内置了大量经常使用的验证类型,足以满足你的功能需求. 它另一个可扩展的验证选项.你能够通过扩展接口加入你须要的验证方式. Gradle 依赖 Add repository dependencies { compile 'com.github.chenyoca:android-validation:[email protected

Android开源项目及库搜集

TimLiu-Android 自己总结的Android开源项目及库. github排名 https://github.com/trending,github搜索:https://github.com/search 目录 UI 卫星菜单 节选器 下拉刷新 模糊效果 HUD与Toast 进度条 UI其它 动画 网络相关 响应式编程 地图 数据库 图像浏览及处理 视频音频处理 测试及调试 动态更新热更新 消息推送 完整项目 插件 出名框架 其他 好的文章 收集android上开源的酷炫的交互动画和视觉

Android之开源项目工具库篇

本文转自:http://www.trinea.cn/android/android-open-source-projects-dev-lib/ 本文中你可以找到那些精美App中各种有特性的View,如Gmail的左滑出菜单.Google plus的卡片式ListView,Pinterest的瀑布流,微信的左滑删除,微博的个页面下拉刷新等等. 通过这些项目你可以大幅度减少不必要的开发而将精力放在更重要的地方. 一.依赖注入DI 通过依赖注入减少View.服务.资源简化初始化,事件绑定等重复繁琐工作

我写的Android图表库XCL-Charts,整理好现在开源了!!!

XCL-Charts v0.1 Android开源图表库,基于原生的Canvas来绘制各种图表.目前支持3D/非3D柱形图.3D/非3D饼图.堆叠图.面积图.折线图.曲线图.环形图.南丁格尔玫瑰图.仪表盘.圆形图等等,并支持图表的混合显示及同数据源不同类型图表切换的功能. License 采用Apache v2 License开源协议. 开源中国上的代码托管地址: https://git.oschina.net/xclcharts/XCL-Charts 开源中国项目地址: http://www.

59.Android开源项目及库 (转)

转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io#%E5%8D%AB%E6%98%9F%E8%8F%9C%E5%8D%95 目录 UI UI 卫星菜单 节选器 下拉刷新 模糊效果 HUD与Toast 进度条 UI其它 动画 网络相关 响应式编程 地图 数据库 图像浏览及处理 视频音频处理 测试及调试 动态更新热更新 消息推送

Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库

一.依赖注入DI 通过依赖注入减少View.服务.资源简化初始化,事件绑定等重复繁琐工作 AndroidAnnotations(Code Diet) android快速开发框架 项目地址:https://github.com/excilys/androidannotations 文档介绍:https://github.com/excilys/androidannotations/wiki 官网网址:http://androidannotations.org/ 特点:(1) 依赖注入:包括view

借腾讯开源 VasDolly,谈谈 Android 签名和多渠道打包的原理!

一.前言 Hi,大家好,我是承香墨影! 当我们需要发布一款 App 到应用市场的时候,一般需要我们针对不同的市场生产不同的渠道包,它们使用的是同一套代码,只是会包含一些各自的渠道信息,用于我们做数据分析. 前几天,企鹅电竞团队开源了自己的 Android Apk 多渠道打包工具:VasDolly,比美团的 Walle 更全面一些. 正好借这个机会,来讲解一下 Android 的不同版本的签名机制的差异. 二.Android 的签名 2.1 应用签名 通过对 Apk 进行签名,开发者可以证明对 A

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

Android公共库--图片缓存 网络缓存 下拉及底部更多ListView 公共类 转载自http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon已开源,地

Android图表库XCL-Charts

首先,这个是国人开发的,支持下必须顶!github项目地址:点击打开,由于项目的基本功能已经实现,所以项目作者也说以后基本不会在有更新了. 项目简介: Android图表库(XCL-Charts is a free charting library for Android platform.),基于Android Canvas来绘制各种图表,使用简便,定制灵活.目前支持3D/非3D/背向式/横向/竖向柱形图(Bar Chart).3D/非3D饼图(Pie Chart).堆叠图(Stacked B