我使用android-saripaar库。
我可以使用 . 检查所有EditText字段的输入数据的正确性validate()。如果我在正确数据中填写EditText错误,只要我再次调用 a ,错误就不会消失validate()。
如何在仅输入特定文本后检查有效性EditText并从中删除错误?
谢谢。
我使用android-saripaar库。
我可以使用 . 检查所有EditText字段的输入数据的正确性validate()。如果我在正确数据中填写EditText错误,只要我再次调用 a ,错误就不会消失validate()。
如何在仅输入特定文本后检查有效性EditText并从中删除错误?
谢谢。
您可以将 SaripaarMode.IMMEDIATE与TextWatcher实例结合使用来完成您正在寻找的内容。
@Order每个具有 Saripaar 注释的视图字段都使用注释。这是使用立即验证模式所必需的。如果您想以特定顺序验证规则,每个 saripaar 注释都有一个sequence属性。该sequence属性是可选的,但如果您希望以特定顺序验证规则,该属性非常有用。 @订单(1)
@NotEmpty(序列 = 1)
@Email(seqence = 2)
私人EditText mEmailEditText;
@订单(2)
@密码
私有 EditText mPasswordEditText;
将模式设置为立即mValidator.setMode(Mode.IMMEDIATE)
将TextWatchers / 适当的侦听器添加到您的小部件。
TextWatcher 验证TextWatcher = new TextWatcher() {
@覆盖
无效 afterTextChanged(Editable s) {
mValidator.validate();
}
// 其他要覆盖的方法 ...
}
mEmailEditText.addTextChangedListener(validationTextWatcher);
mPasswordEditText.addTextChangedListener(validationTextWatcher);
ViewValidatedAction实现会在EditText字段有效时自动清除错误。如果您的表单使用备用错误显示机制/小部件,您可以通过指定您自己的ViewValidatedAction实例来清除它们。 mValidator.setViewValidatedAction(新 ViewValidatedAction() {
@覆盖
无效 onAllRulesPassed(查看视图){
// ... 根据视图类型清除错误
}
});
披露:我是 Saripaar 的作者