有一个用于用户输入验证的iOS US2FormValidator库(见下图)。我认为这个库比默认的在某些东西没有验证时弹出警告要好。

我正在寻找如何在Android上做这样的事情。有没有类似于US2FormValidator的安卓系统?
发布于 2012-10-22 21:48:50
您在屏幕截图上显示的弹出式效果可以在EditText小部件上使用安卓内置的setError(String)方法来实现。
此外,您还可以使用我编写的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()。
您将收到ValidationListener的onSuccess和onFailure方法的回调。
如果要显示如上图所示弹出窗口,请执行以下操作,
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());
}
}希望这能有所帮助。
发布于 2012-08-17 21:21:12
Android有非常易于使用的内置验证机制,这已经足够好用了。请参阅以下链接:http://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/
发布于 2014-01-26 04:39:49
https://stackoverflow.com/questions/11776829
复制相似问题