我是Android移动的开发的新手(Android Studio原生开发-获取新知识)。在这里,我想问一个关于输入验证最佳实践的问题。据我们所知,当开发人员开发输入表单时,我们需要防止用户在文本字段中键入错误的输入。因此,我的问题是:
1.我们可以创建一个java文件仅用于验证目的吗?所有的输入表单,必须去一个验证文件只(在一个应用程序中的许多输入页面屏幕的情况下)。如果是,我如何才能获得一个例子/链接/教程的技术,为我的学习研究。如果否,为什么?
从我个人的Angular 来看,它应该有一种方法来实现这种技术。这样我们就不需要为每个java文件重复使用相同的代码了(就干净的代码而言)。不幸的是,我没有找到任何例子或教程。也许我搜索了一个错误的关键字或误读。如果没有这样的技术存在,输入验证的最佳实践是什么?
- 谢谢-谢谢
p/s:这个帖子是为了找到一个更好的方法。谢谢。
3条答案
按热度按时间5us2dqdw1#
这个java类实现了一个
TextWatcher
来“监视”编辑文本,监视对文本所做的任何更改:在
EditText
中,可以将文本观察器设置为它的侦听器mum43rcc2#
一种方法(我正在使用)是您应该有一个用于验证输入的助手,例如:
1.空
1.日期
1.密码
1.电子邮件
1.数值
1.及其他
下面是我ValidationHelper类中的一个示例:
现在我使用这个类的方式是这样的:
可以使用通过
EditText#addTextChangedListener
附加的TextWatcher
调用验证例如:
cbeh67ev3#
我认为为了以一种干净的方式处理它,每个视图都应该保持它们的验证逻辑和它们的有效状态。我们不应该在每个屏幕中使用相同的代码行。
例如:如果你有一个电话号码字段,你不应该在每一个屏幕上都写它验证逻辑。你可以为电话字段创建一个自定义视图,并将它的验证逻辑保存在自定义视图中。这样你就可以摆脱每个屏幕上的字段验证。但这还没有完成,你也可以在你的自定义按钮视图中处理有效状态。2这样你就可以从你的屏幕中消除重复的有效状态处理行。最后,您只需要一个逻辑来为按钮引入输入字段
我已经将所有这些逻辑提取为lib,并添加了简单的演示来说明其用法。
要使用它,只需在自定义输入视图中实现一个接口,在自定义按钮中实现另一个接口。
Demo.gif
用法
**对于输入字段:**您需要在输入字段中实现
Validatable
接口。此处将实现2个方法。在此示例中,我们的自定义输入视图扩展了AppCompatEditText
**对于“输出”视图(大多数情况下为按钮):**需要实现处理按钮的onValid状态的验证器接口。如果页面中的每个输入都有效,则将调用此方法。
**绑定输入与输出视图:**您已将此行添加到Activity/片段中以进行验证绑定。第一个变量是验证器视图,然后您可以添加所有可验证视图,没有可验证视图限制