【发布时间】:2021-12-26 11:07:14
【问题描述】:
我有一个约会数据库。我想更新/修改约会,同时不允许空文本字段。这些字段都预先填充了约会的原始详细信息。
我有一个错误检查以查看文本字段是否为空(还有更多,但这让想法得到了理解):
if (modifyAppointmentTitle.getText() == null || modifyAppointmentDescription.getText() == null)
{
Alert alert3 = new Alert(Alert.AlertType.ERROR);
alert3.setHeaderText("INVALID ENTRIES");
alert3.setContentText("Please enter a valid value for each required field!");
alert3.showAndWait();
}
然后我调用我的更新函数:
DBAppointments.updateAppointment(title, description, location, type, startToSave, endToSave,
customerIDint, userID.getUserID(), contact.getContactID(),
selectedAppointment.getAppointmentID());
我应该收到关于空文本字段的错误,但什么也没发生,它仍在将修改后的约会保存到数据库中。我在想,由于我从数据库中提取信息,应用程序认为这些字段不是空的,因为它们是预先填充的?我有相同的代码来添加约会,它会正确触发。
【问题讨论】:
-
如果需要SQL协助,我们需要查看问题SQL。
-
这不是你检查字符串是否为空的方式,所以例如你的代码仍然传递空的非空字符串,我建议使用一些众所周知的帮助类,如 Apache StringUtils
-
字段不是
null,它们是空的,即字符串长度为零 -
@scarywombat 我阅读了您的评论并认为“也许某些东西仍然存在”所以我添加了另一个检查。 “(modifyAppointmentTitle.getText() == null || modifyAppointmentTitle.getText().trim().isEmpty())” 通过使用 .trim().isEmpty(),我现在触发了错误检查。感谢您的推动!