java - 添加多个约束

标签 java android

我已经使用链接到 firebase 数据库的 android studio 创建了一个业务上传表单,我面临一个问题,我只能在(名称=空显示“请填写所有字段”)上添加约束,但是我如何添加这适用于所有其他 EditText 字段,因此当用户未填写它们时,所有消息都会显示。 这是代码

private void addBusiness(){

  String  name = businame.getText().toString().trim();
  String  email = busiemail.getText().toString().trim();
  String  number = businum.getText().toString().trim();
  String  address = busiadd.getText().toString().trim();
  String  info = busiinfo.getText().toString().trim();
  String  type = spinnerType.getSelectedItem().toString();

    if (!TextUtils.isEmpty(name)) {
      String id= databaseBusiness.push().getKey();
      Business business = new Business(id, name, email, number, address, info, type);
      databaseBusiness.child(id).setValue(business);
      Toast.makeText(this,"Upload Done", Toast.LENGTH_LONG).show();
    } else {
        Toast.makeText(this,"Please Fill All Fields",Toast.LENGTH_LONG).show();
    }
}

最佳答案

一个简单的解决方案可能如下所示:

Map<String, String> userInputByTag = new HashMap<>();
userInputByTag.put("name", businame.getText().toString().trim());
userInputByTag.put("email", busiemail.getText().toString().trim());
...

现在您可以迭代 map 条目。如果您发现 map 为空,您可以发布一条消息(使用相应的 map 键)。不漂亮,但相比之下绝对更好

 if (!TextUtils.isEmpty(name)) {
  ...
 else if(!TextUtils.isEmpty(email)) {
  ...

换句话说:直接但丑陋的解决方案将是这样的 if/else if/... 语句的级联。

除此之外 - 我非常确定 Android 对字段验证有一些框架支持。你应该在那里做一些研究,而不是重新发明轮子。开始阅读 heretherethat

关于java - 添加多个约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44881363/

相关文章:

java - Java 中的相对路径

Java 测试自动化 - 测试用例注释到范围报告

android - 重新安装应用程序后有时无法释放相机

android - 在 ImageSpan 中延迟加载图像

java - 如何使用 void 方法确保良好的测试覆盖率

java - preperedRenderer JTable 遇到问题

java - 如何通过单击 JButton 来更改 JLabel 文本?

java - 如何使用 android 注释和 resttemplate 在 POST 请求正文中发送 x-www-form-urlencoded

android - 如何从 webChromeClient 启动另一个 Activity

android过滤器自定义数组适配器并再次带回旧项目