【问题标题】:Saripaar formvalidation not working second time in kotlinSaripaar formvalidation 在 kotlin 中第二次不起作用
【发布时间】:2017-10-11 11:00:00
【问题描述】:

我正在使用saripaar 进行表单验证。我在 fragmentA 中有一些编辑文本,验证成功后,视图将切换到 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中没有。

【问题讨论】:

  • 贴出相关代码。
  • @azizbekian 问题已用代码更新。
  • 你在哪里表演validator.validate()?也发布片段/活动。
  • fragmentA 中有一个提交按钮,点击提交按钮时,我已经验证了表单,即validator.validate()
  • @captaindroid buildToolsVersion "26.0.2" 和实现 'com.mobsandgeeks:android-saripaar:2.0.3'

标签: android forms validation kotlin saripaar


【解决方案1】:

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

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

当我删除空检查部分时,现在它工作正常。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2014-01-31
    • 2015-06-21
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    相关资源
    最近更新 更多