码迷,mamicode.com
首页 > 移动开发 > 详细

开源Android校验库 - Android Validation

时间:2014-06-27 09:35:24      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:android   style   class   code   java   http   

Android校验库 - Android Validation

简单易用的Android校验库。

bubuko.com,布布扣

已内置支持的校验方式

  • 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,布布扣,bubuko.com

开源Android校验库 - Android Validation

标签:android   style   class   code   java   http   

原文地址:http://blog.csdn.net/chenyoca/article/details/34860675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!