Saripaar formvalidation不能在kotlin中第二次使用

我正在使用saripaar进行表单验证。 我在fragmentA中有一些编辑文本,验证成功时,视图将切换到fragmentB。
碎片中的切刀和saripaar注释。

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

Saripaar初始化:

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

验证字段:

 validator.validate() 

验证是第一次正常工作。 当从fragmentB返回到fragmentA时,验证不起作用,它将直接调用validationsuccess。

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) 
Interesting Posts