cap*_*oid 11 forms validation android kotlin saripaar
我正在使用saripaar进行表单验证.我在fragmentA中有一些edittext,在验证成功时,视图将切换到fragmentB.
Butterknife和saripaar注释片段.
@NotEmpty
@BindView(R.id.nameEditText)
lateinit var nameEditText: EditText
Run Code Online (Sandbox Code Playgroud)
Saripaar初始化:
val validator = Validator(this)
validator.setValidationListener(this)
Run Code Online (Sandbox Code Playgroud)
要验证字段:
validator.validate()
Run Code Online (Sandbox Code Playgroud)
验证第一次正常工作.当从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()
}
Run Code Online (Sandbox Code Playgroud)
此问题仅出现在kotlin中,但不出现在java中.
我解决了这个问题,我在basefragment中进行了所有saripaar初始化,在basefragment中有以下代码,并对验证器实例进行了空检查:
if(validator==null){
validator = Validator(this)
validator.setValidationListener(this)
}
Run Code Online (Sandbox Code Playgroud)
当我删除空检查部分时,现在它工作正常。
validator = Validator(this)
validator.setValidationListener(this)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |