Android表单验证UI库

时间:2012-08-02 11:52:16

标签: android user-interface validation

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

US2FormValidator Preview

我正在寻找如何在Android上执行此类操作。是否有一些US2FormValidator的Android类似物?

4 个答案:

答案 0 :(得分:63)

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

此外,您可以使用我创作的Android Saripaar库充分利用注释的强大功能。

首先添加库:

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

该库使用起来非常简单。在您的活动中,为您要验证的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属性指定必须验证字段的顺序。

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

您将收到onSuccess的{​​{1}}和onFailure方法的回调。

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

ValidationListener

希望有所帮助。

答案 1 :(得分:28)

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

答案 2 :(得分:5)

仅在三个步骤内实施Android验证。开发人员应该专注于他们令人敬畏的代码,让图书馆做样板。

三种验证类型:

  • TEXT_INPUT_LAYOUT
  • UNDERLABEL
  • 染色
  • BASIC

我将举例说明UNDERLABEL验证。

在Android中实现验证的步骤:

声明验证样式:

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

添加验证;

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);

设置何时触发验证。

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

多数民众赞成,full source code

validation for android - dasnic

答案 3 :(得分:4)

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

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

enter image description here