【问题标题】:How to validate input using RxJava?如何使用 RxJava 验证输入?
【发布时间】:2018-10-07 18:22:45
【问题描述】:

我有以下代码

submitButtonClickObservable
    .withLatestFrom(txtInputChangesObservable)
    .subscribe{  }

它运作良好,但我想在不使用文本输入时处理单击提交按钮并显示验证错误。是否可以只使用 Rx 而不使用 var text: CharSequence 之类的变量或访问 EditText 值?

withLatestFrom 大理石: http://rxmarbles.com/#withLatestFrom

【问题讨论】:

  • 你能编辑这个来解释txtInputchangesObservable的来源吗?看起来您可以在subscribe 块中进行验证,不是吗?也许我缺少上下文。

标签: android kotlin rx-java2


【解决方案1】:

我的解决方案是将.mergeWith(Observable.just("")) 添加到txtInputChangesObservable。 现在subscribe{ } 块在按钮单击时起作用,即使用户没有使用文本输入

@Test
fun textObs(){
    val submitButtonClickObservable = Observable.just(Any(), Any())
    val txtInputChangesObservable = Observable.empty<CharSequence>()
            .mergeWith(Observable.just(""))
    val testObserver = submitButtonClickObservable
            .withLatestFrom(txtInputChangesObservable).test()
    testObserver.assertValueCount(2)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    相关资源
    最近更新 更多