如何在android-saripaar中重新检查字段?

时间:2015-06-02 05:35:56

标签: java android android-edittext saripaar

我使用android-saripaar库。

我可以使用EditText检查输入数据正确性的所有validate()字段。如果我在EditText上填写错误的正确数据,只要我再次调用validate(),错误就不会消失。

如何仅在某个EditText输入文字后检查有效性,并从中删除错误?

感谢。

1 个答案:

答案 0 :(得分:6)

您可以将Saripaar Mode.IMMEDIATETextWatcher个实例结合使用,以实现您的目标。

  1. 在每个具有Saripaar注释的视图字段中使用@Order注释。这是使用立即验证模式所必需的。如果要按特定顺序验证规则,则每个saripaar注释都具有sequence属性。 sequence属性是可选的,但如果您希望以特定顺序验证规则,则非常有用。
  2.     @Order(1)
        @NotEmpty(sequence = 1)
        @Email(seqence = 2)
        private EditText mEmailEditText;
    
        @Order(2)
        @Password
        private EditText mPasswordEditText;
    
    1. 将模式设置为立即mValidator.setMode(Mode.IMMEDIATE)

    2. TextWatcher个/适当的侦听器添加到您的小部件中。

    3.     TextWatcher validationTextWatcher = new TextWatcher() {
      
              @Override
              void afterTextChanged(Editable s) {
                  mValidator.validate();
              }
      
              // Other methods to override ...
          }
      
          mEmailEditText.addTextChangedListener(validationTextWatcher);
          mPasswordEditText.addTextChangedListener(validationTextWatcher);
      
      1. (可选)默认ViewValidatedAction实施会在EditText字段有效时自动清除错误。如果表单使用备用错误显示机制/窗口小部件,则可以通过指定自己的ViewValidatedAction实例来清除它们。
      2.     mValidator.setViewValidatedAction(new ViewValidatedAction() {
        
                @Override
                void onAllRulesPassed(View view) {
                    // ... clear errors based on the view type
                }
            });
        

        披露:我是Saripaar的作者