java - 最佳实践 : Input Validation (Android)

标签 java android validation android-studio

我是 android 移动开发的新手(Android Studio 原生开发 - 新知识)。在这里我想问一个关于输入验证最佳实践的问题。 据我们所知,当开发人员开发输入表单时。我们需要防止用户在文本字段中输入错误的内容。所以这是我的问题,

  1. 我们可以创建一个仅用于验证目的的 java 文件吗?所有输入表单,必须只转到那个验证文件(如果一个应用程序中有多个输入页面屏幕)。如果,我怎样才能为我的学习研究获得该技术的示例/链接/教程。如果,为什么?

从我个人的角度来看,它应该有一种方法来实现该技术。这样我们就不需要为每个 java 文件重新使用相同的代码(就干净代码而言)。不幸的是,我没有找到任何示例或教程。也许我搜索了错误的关键字或误读了。如果不存在这种技术,输入验证的最佳实践是什么?

谢谢。

p/s:这个帖子是为了在最佳实践中找到更好的方法。谢谢。

最佳答案

这个 java 类实现了一个 TextWatcher 来“观察”您的编辑文本,观察对文本所做的任何更改:

public abstract class TextValidator implements TextWatcher {
    private final TextView textView;

    public TextValidator(TextView textView) {
        this.textView = textView;
    }

    public abstract void validate(TextView textView, String text);

    @Override
    final public void afterTextChanged(Editable s) {
        String text = textView.getText().toString();
        validate(textView, text);
    }

    @Override
    final public void 
    beforeTextChanged(CharSequence s, int start, int count, int after) {
         /* Needs to be implemented, but we are not using it. */ 
    }

    @Override
    final public void 
    onTextChanged(CharSequence s, int start, int before, int count) { 
         /* Needs to be implemented, but we are not using it. */    
    }
}

并且在您的 EditText 中,您可以将文本观察器设置为它的监听器

editText.addTextChangedListener(new TextValidator(editText) {
    @Override public void validate(TextView textView, String text) {
       /* Insert your validation rules here */
    }
});

关于java - 最佳实践 : Input Validation (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072569/

相关文章:

c# - MVC 5 IValidatableObject 不显示错误消息?

validation - 如何将电子邮件建议传递到 Azure AD B2C 注册页面

java - 使用 token (Java) 保护 REST Web 服务

java - 如何告诉 NetBeans 我的 Tomcat "home"在哪里?

java - 在运行应用程序之前检测/测试 @Autowired 没有唯一的 bean

Android ACRA 表单 key ?

android - 在 WebView 中从相机或图库上传图像

java - HTTP 状态 403 - 未找到预期的 CSRF token

android - 如何在 Android 中禁用 WIFI 自动连接

javascript - html5 验证表单所需的 ="true"和自定义检查