首页 > 解决方案 > 执行表单验证android的最佳方法

问题描述

有一个带有许多editTexts的视图我使用这个类来执行验证这个想法,即每个输入都有一个EditText输入和TextView错误消息

我的代码


首先添加表单输入

  requiredFormViews.add(
            EditTextWithErrorTextView(
                editText_driver_phone_number,
                textView_driver_phone_number_error,
                String::isNotEmpty

            )
        )

第二个验证电话

 private fun checkFormErrors() =
        requiredFormViews
            .map {
              it.performValidationAction()
                it
            }.all { it.isValidInput() }

这是课程

 data class EditTextWithErrorTextView(
        val inputEditText: EditText,
        val errorTextView: TextView,
        val isValidInputText: (String) -> Boolean
    ) {
        fun getInputText() = inputEditText.text.toString()
         fun showError() {
            errorTextView.visible()
        }
    
         fun hideError() {
            errorTextView.inInvisible()
        }
    
        fun isValidInput() = isValidInputText(getInputText())
    
        fun performValidationAction(){
            when (isValidInput()) {
                true -> hideError()
                false -> showError()
            }
        }
    }

我的问题是如何改进checkFormErrors(),在某种程度上确实需要一次性归还它

标签: javaandroidandroid-studiokotlintextview

解决方案


推荐阅读