RxSwift校驗(yàn)TextField輸入修改but狀態(tài)

單個(gè)textfield校驗(yàn)

  nameTextfield.rx.text.orEmpty
            .map { $0.count > 1  } // $0代表第一個(gè)參數(shù),就是輸入內(nèi)容必須大于1位
            .share(replay: 1)
            .subscribe(onNext: {[weak self] (bool) in
                self?.loginBut.isEnabled = bool // 修改按鈕是否可以點(diǎn)擊
                self?.loginBut.backgroundColor =  bool == true ?  ThemeBlue :  ThemeGreyBlue
                }, onError: { (error) in 
            }, onCompleted: nil, onDisposed: nil)
            .disposed(by: disposeBag)

多個(gè)textfield校驗(yàn)

let nameText = nameTextfield.rx.text.orEmpty.map { $0.count > 1 }.share(replay: 1)
let paswdText = paswdTextfield.rx.text.orEmpty.map { $0.count > 5 && $0.count < 18 }.share(replay: 1) // 輸入內(nèi)容必須大于5位且小于18位
        
        Observable
            .combineLatest(nameText, paswdText) {$0 && $1}
            .share(replay: 1)
            .subscribe(onNext: {[weak self] (bool) in
                // 修改按鈕是否可以點(diǎn)擊
                self?.loginBut.isEnabled = bool
                // 修改按鈕背景色
                self?.loginBut.backgroundColor = bool == true ? ThemeBlue : ThemeGreyBlue
                }, onError: { (error) in
            }, onCompleted: nil, onDisposed: nil)
            .disposed(by: disposeBag)
輸入前

輸入后
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容