Saripaar formvalidation 在 kotlin 中第二次不起作用

Saripaar formvalidation not working second time in kotlin

我正在使用 saripaar 进行表单验证。我在fragmentA中有一些edittext,验证成功后,视图将切换到fragmentB。
片段中的 Butterknife 和 saripaar 注释。

@NotEmpty
@BindView(R.id.nameEditText)
lateinit var nameEditText: EditText

Saripaar 初始化:

 val validator = Validator(this)
 validator.setValidationListener(this)

验证字段:

validator.validate()

第一次验证工作正常。当从fragmentB返回到fragmentA时,验证不生效,会直接调用onvalidationsuccess。

onValidationSucceeded 上,我正在使用以下函数切换到 fragmentB。

fun openFragment(fragment: Fragment) {
    val ft = activity.supportFragmentManager.beginTransaction()
    ft.replace(R.id.container, fragment)
    ft.addToBackStack(null)
    ft.commitAllowingStateLoss()
}

这个问题只出现在kotlin中,java没有出现。

我解决了这个问题,我在 basefragment 中有所有 saripaar 初始化,我在 basefragment 中有以下代码,对验证器实例进行空检查:

if(validator==null){  
 validator = Validator(this) 
 validator.setValidationListener(this) 
}

由于我删除了空检查部分,现在它可以正常工作了。

validator = Validator(this) 
validator.setValidationListener(this)