实例介绍
Android Saripaar v2 是一个基于规则的 UI 表单验证库,适用于 Android。它是Android中最简单的UI表单验证库。本文提供了关于如何使用Android Saripaar v2的详细信息。Android Saripaar v2是一个简单、功能丰富、强大的基于规则的UI表单验证库,适用于Android,支持声明式样式验证使用注释,支持扩展,允许自定义注释,同时支持同步和异步验证。
【实例截图】
【核心代码】
文件清单
└── android-saripaar-fe05e4efcb73460fc254891a42e603b4ca2c9118
├── build.gradle
├── config
│ ├── quality
│ │ ├── checkstyle
│ │ │ └── checkstyle.xml
│ │ ├── findbugs
│ │ │ └── findbugs-filter.xml
│ │ └── pmd
│ │ └── pmd-ruleset.xml
│ └── quality.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle-mvn-push.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── LICENSE
├── logo.png
├── README.md
├── saripaar
│ ├── build.gradle
│ ├── gradle.properties
│ ├── proguard-rules.pro
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ ├── com
│ │ └── mobsandgeeks
│ │ └── saripaar
│ │ ├── adapter
│ │ │ ├── CheckBoxBooleanAdapter.java
│ │ │ ├── RadioButtonBooleanAdapter.java
│ │ │ ├── RadioGroupBooleanAdapter.java
│ │ │ ├── SpinnerIndexAdapter.java
│ │ │ ├── TextViewBaseAdapter.java
│ │ │ ├── TextViewDoubleAdapter.java
│ │ │ ├── TextViewFloatAdapter.java
│ │ │ ├── TextViewIntegerAdapter.java
│ │ │ ├── TextViewStringAdapter.java
│ │ │ └── ViewDataAdapter.java
│ │ ├── annotation
│ │ │ ├── AssertFalse.java
│ │ │ ├── AssertTrue.java
│ │ │ ├── Checked.java
│ │ │ ├── ConfirmEmail.java
│ │ │ ├── ConfirmPassword.java
│ │ │ ├── CreditCard.java
│ │ │ ├── DecimalMax.java
│ │ │ ├── DecimalMin.java
│ │ │ ├── Digits.java
│ │ │ ├── Domain.java
│ │ │ ├── Email.java
│ │ │ ├── Future.java
│ │ │ ├── IpAddress.java
│ │ │ ├── Isbn.java
│ │ │ ├── Length.java
│ │ │ ├── Max.java
│ │ │ ├── Min.java
│ │ │ ├── NotEmpty.java
│ │ │ ├── Optional.java
│ │ │ ├── Order.java
│ │ │ ├── Or.java
│ │ │ ├── Password.java
│ │ │ ├── Past.java
│ │ │ ├── Pattern.java
│ │ │ ├── Select.java
│ │ │ ├── Url.java
│ │ │ └── ValidateUsing.java
│ │ ├── AnnotationRule.java
│ │ ├── ContextualAnnotationRule.java
│ │ ├── DateFormats.java
│ │ ├── DefaultViewValidatedAction.java
│ │ ├── exception
│ │ │ ├── ConversionException.java
│ │ │ └── SaripaarViolationException.java
│ │ ├── QuickRule.java
│ │ ├── Reflector.java
│ │ ├── Registry.java
│ │ ├── rule
│ │ │ ├── AssertFalseRule.java
│ │ │ ├── AssertTrueRule.java
│ │ │ ├── CheckedRule.java
│ │ │ ├── ConfirmEmailRule.java
│ │ │ ├── ConfirmPasswordRule.java
│ │ │ ├── CreditCardRule.java
│ │ │ ├── DecimalMaxRule.java
│ │ │ ├── DecimalMinRule.java
│ │ │ ├── DigitsRule.java
│ │ │ ├── DomainRule.java
│ │ │ ├── EmailRule.java
│ │ │ ├── FutureRule.java
│ │ │ ├── IpAddressRule.java
│ │ │ ├── IsbnRule.java
│ │ │ ├── LengthRule.java
│ │ │ ├── MaxRule.java
│ │ │ ├── MinRule.java
│ │ │ ├── NotEmptyRule.java
│ │ │ ├── PasswordRule.java
│ │ │ ├── PastRule.java
│ │ │ ├── PatternRule.java
│ │ │ ├── SameValueContextualRule.java
│ │ │ ├── SelectRule.java
│ │ │ └── UrlRule.java
│ │ ├── Rule.java
│ │ ├── SaripaarFieldsComparator.java
│ │ ├── SequenceComparator.java
│ │ ├── ValidationContext.java
│ │ ├── ValidationError.java
│ │ └── Validator.java
│ └── commons
│ └── validator
│ └── routines
│ ├── AbstractFormatValidator.java
│ ├── AbstractNumberValidator.java
│ ├── checkdigit
│ │ ├── CheckDigitException.java
│ │ ├── CheckDigit.java
│ │ ├── EAN13CheckDigit.java
│ │ ├── ISBN10CheckDigit.java
│ │ ├── LuhnCheckDigit.java
│ │ └── ModulusCheckDigit.java
│ ├── CodeValidator.java
│ ├── CreditCardValidator.java
│ ├── DomainValidator.java
│ ├── DoubleValidator.java
│ ├── EmailValidator.java
│ ├── InetAddressValidator.java
│ ├── IntegerValidator.java
│ ├── ISBNValidator.java
│ ├── RegexValidator.java
│ └── UrlValidator.java
├── saripaar-tests
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── mobsandgeeks
│ │ └── saripaar
│ │ └── tests
│ │ ├── ConfirmPasswordNoPasswordTest.java
│ │ ├── ConfirmPasswordSeveralPasswordsTest.java
│ │ ├── ConfirmPasswordWithPasswordTest.java
│ │ ├── Constants.java
│ │ ├── CustomAnnotationTest.java
│ │ ├── CustomAnnotationWithAdapterTest.java
│ │ ├── CustomMultipleViewDataAdaptersTest.java
│ │ ├── CustomViewDataAdapterTest.java
│ │ ├── EspressoHelper.java
│ │ ├── OptionalTest.java
│ │ ├── OrderedSequencingTest.java
│ │ ├── OrderedValidateBeforeTest.java
│ │ ├── OrderedValidateTest.java
│ │ ├── OrderedValidateTillTest.java
│ │ ├── QuickRuleOnlyControllerTest.java
│ │ ├── QuickRuleOnlyTest.java
│ │ ├── QuickRuleOrderedTest.java
│ │ ├── QuickRuleUnorderedInOrderedTest.java
│ │ ├── QuickRuleUnorderedTest.java
│ │ ├── RemoveRulesTest.java
│ │ ├── UnorderedSequencingTest.java
│ │ ├── UnorderedValidateBeforeTest.java
│ │ ├── UnorderedValidateTest.java
│ │ ├── UnorderedValidateTillTest.java
│ │ └── ValidateHiddenViewsTest.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ └── mobsandgeeks
│ │ └── saripaar
│ │ └── tests
│ │ └── ui
│ │ ├── Common.java
│ │ ├── ConfirmPasswordNoPasswordActivity.java
│ │ ├── ConfirmPasswordSeveralPasswordsActivity.java
│ │ ├── ConfirmPasswordWithPasswordActivity.java
│ │ ├── CustomAnnotationActivity.java
│ │ ├── CustomAnnotationWithAdapterActivity.java
│ │ ├── CustomMultipleViewDataAdaptersActivity.java
│ │ ├── CustomViewDataAdapterActivity.java
│ │ ├── OptionalActivity.java
│ │ ├── OrderedSequencingActivity.java
│ │ ├── OrderedValidateActivity.java
│ │ ├── OrderedValidateBeforeActivity.java
│ │ ├── OrderedValidateTillActivity.java
│ │ ├── QuickRuleOnlyActivity.java
│ │ ├── QuickRuleOnlyControllerActivity.java
│ │ ├── QuickRuleOrderedActivity.java
│ │ ├── QuickRuleUnorderedActivity.java
│ │ ├── QuickRuleUnorderedInOrderedActivity.java
│ │ ├── RemoveRulesActivity.java
│ │ ├── UnorderedSequencingActivity.java
│ │ ├── UnorderedValidateActivity.java
│ │ ├── UnorderedValidateBeforeActivity.java
│ │ ├── UnorderedValidateTillActivity.java
│ │ ├── ValidateInvisibleViewsActivity.java
│ │ └── validation
│ │ ├── HometownZipCode.java
│ │ ├── HometownZipCodeRule.java
│ │ ├── To.java
│ │ └── ToRule.java
│ └── res
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── layout
│ │ ├── activity_confirm_password_no_password.xml
│ │ ├── activity_confirm_password_sevaral_passwords.xml
│ │ ├── activity_confirm_password_with_password.xml
│ │ ├── activity_custom_annotation_with_adapter.xml
│ │ ├── activity_custom_annotation.xml
│ │ ├── activity_custom_multiple_view_data_adapters.xml
│ │ ├── activity_custom_view_data_adapter.xml
│ │ ├── activity_optional.xml
│ │ ├── activity_quick_rule_only_controller.xml
│ │ ├── activity_quick_rule_only.xml
│ │ ├── activity_quick_rule_ordered.xml
│ │ ├── activity_quick_rule_unordered_in_ordered.xml
│ │ ├── activity_quick_rule_unordered.xml
│ │ ├── activity_remove_rules.xml
│ │ ├── activity_un_ordered_sequencing.xml
│ │ ├── activity_un_ordered_validate_common.xml
│ │ ├── activity_un_ordered_validate_till_before.xml
│ │ ├── activity_un_ordered_validate.xml
│ │ └── activity_validate_invisible_views.xml
│ ├── values
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── values-v21
│ │ └── styles.xml
│ └── values-w820dp
│ └── dimens.xml
└── settings.gradle
48 directories, 197 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论