java - 执行表单验证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()
,在某种程度上确实需要一次性归还它
解决方案
推荐阅读
- mongodb - 为什么在使用 Mongoose 时不需要 index.js 中的 MongoDB 常量?
- java - 我如何获得多个股票利润?
- ruby - 在 Windows 的 ruby 中,执行 cmd 提示命令“move”会给出错误“命令的语法不正确”。
- javascript - 尝试在 p5js 中存储“撤消”函数的数组值
- python - 通过 Python 获取我的本地 IP 地址和网络的子网掩码
- c# - 错误 CS0029 无法将类型“Microsoft.AspNetCore.Mvc.ActionResult”隐式转换为“System.Collections.Generic.List<>”
- php - 如何从 Python 运行 php 代码字符串?
- xml - Spark DataFrame 到 xml 文件
- c# - xamarin 主从页面 CS0102 nand CS0229
- ios - iOS 在前台推送通知 - 检测通知的横幅何时被用户忽略