Android表单validationUI库

有用于用户输入validation的iOS US2FormValidator库(参见下图)。 我认为,当某些内容无法validation时,该库优于默认popup警报。

US2FormValidator预览

我正在寻找如何在Android上做这些事情。 是否有一些US2FormValidator的 Android类似物?

您在屏幕截图上显示的popup效果可以使用Android在EditText小部件上的内置setError(String)方法实现。

此外,您可以使用我撰写的Android Saripaar库来充分利用注释的强大function 。

首先添加库:

 compile 'com.mobsandgeeks:android-saripaar:2.0.2' 

该库非常易于使用。 在您的活动中,为您要validation的View引用添加注释,如以下示例所示。

 @Order(1) private EditText fieldEditText; @Order(2) @Checked(message = "You must agree to the terms.") private CheckBox iAgreeCheckBox; @Order(3) @Length(min = 3, message = "Enter atleast 3 characters.") @Pattern(regex = "[A-Za-z]+", message = "Should contain only alphabets") private TextView regexTextView; @Order(4) @Password(min = 6, scheme = Password.Scheme.ALPHA_NUMERIC_MIXED_CASE_SYMBOLS) private EditText passwordEditText; @Order(5) @ConfirmPassword private EditText confirmPasswordEditText; 

order属性指定必须validation字段的顺序。

onCreate()方法中实例化一个新的Validator对象。 并在任何事件侦听validator.validate()调用validator.validate()

您将收到ValidationListener onSuccessonFailure方法的回调。

如果您想在上图中显示popup窗口,请执行以下操作,

 public void onValidationFailed(View failedView, Rule< ?> failedRule) { if (failedView instanceof Checkable) { Toast.makeText(this, failedRule.getFailureMessage(), Toast.LENGTH_SHORT).show(); } else if (failedView instanceof TextView) { TextView view = (TextView) failedView; view.requestFocus(); view.setError(failedRule.getFailureMessage()); } } 

希望有所帮助。

Android具有极易使用的内置validation机制,足够强大。 请参阅以下链接: http : //blog.donnfelker.com/2011/11/23/android-validation-with-edittext/

我刚刚遇到ValidationKomensky你可能会觉得有用

https://github.com/inmite/android-validation-komensky

在此处输入图像描述

仅在三个步骤内实现Android内部validation。 开发人员应该专注于他们令人敬畏的代码,并让库来做样板。

三种validationtypes:

  • TEXT_INPUT_LAYOUT
  • UNDERLABEL
  • 着色
  • BASIC

我给你的UNDERLABELvalidation示例。

在android中实现validation的步骤:

声明validation样式:

 AwesomeValidation mAwesomeValidation = new AwesomeValidation(UNDERLABEL); mAwesomeValidation.setContext(this); 

添加validation;

 mAwesomeValidation.addValidation(activity, R.id.edt_name, “[a-zA-Z\\s]+”, R.string.err_name); mAwesomeValidation.addValidation(activity, R.id.edt_tel, RegexTemplate.TELEPHONE, R.string.err_tel); 

设置何时触发validation。

 findViewById(R.id.btn_done).setOnClickListener(new View.OnClickListener() @Override public void onClick(View v) mAwesomeValidation.validate(); ); 

多数民众赞成,这里是完整的源代码

验证android  -  dasnic