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