有用于用户输入验证的 iOS US2FormValidator库(见下图)。我认为该库比默认情况下仅在某些内容未验证时弹出警报要好。
我正在寻找如何在 Android 上做这些事情。是否有一些US2FormValidator的 Android 类似物?
有用于用户输入验证的 iOS US2FormValidator库(见下图)。我认为该库比默认情况下仅在某些内容未验证时弹出警报要好。
我正在寻找如何在 Android 上做这些事情。是否有一些US2FormValidator的 Android 类似物?
您在屏幕截图上显示的弹出效果可以使用 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
和.onFailure
ValidationListener
如果要显示如上图所示的弹出窗口,请执行以下操作,
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 具有非常易于使用的内置验证机制,这已经足够了。请参阅以下链接: http ://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/
我刚刚遇到了 ValidationKomensky,您可能会发现它很有用