Когда код выполняется, и я неправильно ввожу учетные данные, вместе с сообщением об ошибке появляется успешно добавленное сообщение, и я не уверен, почему это происходит.Нам нужно показать сообщение об ошибке и сообщение об успехе для нашей работы.Когда код запускается, и я неправильно ввожу учетные данные, вместе с сообщением об ошибке появляется успешно добавленное сообщение, и я не уверен, почему это происходит.Нам нужно показать сообщение об ошибке и сообщение об успешном выполнении нашей работы.
public class FXMLDocumentController implements Initializable {
private FadeTransition fade = new FadeTransition(
Duration.millis(5000)
);
Employee em = new Employee();
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
TV_id.setCellValueFactory(new PropertyValueFactory<>("ID"));
TV_fname.setCellValueFactory(new PropertyValueFactory<>("FirstName"));
TV_lname.setCellValueFactory(new PropertyValueFactory<>("LastName"));
TV_date.setCellValueFactory(new PropertyValueFactory<>("HireDate"));
fade.setNode(label_success);
fade.setFromValue(1.0);
fade.setToValue(0.0);
fade.setCycleCount(1);
fade.setAutoReverse(false);
}
@FXML
private void handleButtonAddAction(ActionEvent event) {
label_fail.setText("");
label_success.setText("Successfully Added");
int ID = 0, year = 0, month = 0, day = 0;
String fname = "", lname = "";
if (intValidation(TF_id) == true) {
label_id.setTextFill(Color.web("#000000"));
rec_id.setVisible(false);
ID = Integer.parseInt(TF_id.getText());
} else {
rec_id.setVisible(true);
label_id.setTextFill(Color.web("#ff0000"));
}
if (stringValidation(TF_fname) == true) {
label_fname.setTextFill(Color.web("#000000"));
rec_fname.setVisible(false);
fname = TF_fname.getText();
} else {
rec_fname.setVisible(true);
label_fname.setTextFill(Color.web("#ff0000"));
}
if (stringValidation(TF_lname) == true) {
label_fname.setTextFill(Color.web("#000000"));
rec_lname.setVisible(false);
lname = TF_lname.getText();
} else {
rec_lname.setVisible(true);
label_lname.setTextFill(Color.web("#ff0000"));
}
if (intValidation(TF_month) == true) {
label_date.setTextFill(Color.web("#000000"));
rec_month.setVisible(false);
month = Integer.parseInt(TF_month.getText());
} else {
rec_month.setVisible(true);
label_date.setTextFill(Color.web("#ff0000"));
}
if (intValidation(TF_day) == true) {
label_date.setTextFill(Color.web("#000000"));
rec_day.setVisible(false);
day = Integer.parseInt(TF_day.getText());
} else {
rec_day.setVisible(true);
label_date.setTextFill(Color.web("#ff0000"));
}
if (intValidation(TF_year) == true) {
label_date.setTextFill(Color.web("#000000"));
rec_year.setVisible(false);
year = Integer.parseInt(TF_year.getText());
} else {
rec_year.setVisible(true);
label_date.setTextFill(Color.web("#ff0000"));
}
if (!rec_id.isVisible() && !rec_fname.isVisible()
&& !rec_lname.isVisible() && !rec_month.isVisible()
&& !rec_day.isVisible() && !rec_year.isVisible()) {
if (em.addEmployee(fname, lname, ID, year, month, day) == false) {
label_fail.setText("No two employees can have the same ID.");
} else {
updateList();
label_success.setVisible(true);
fade.playFromStart();
TF_id.setText("");
TF_fname.setText("");
TF_lname.setText("");
TF_month.setText("");
TF_day.setText("");
TF_year.setText("");
}
}
}
private void updateList() {
TV_employee.getItems().clear();
}
private boolean intValidation(TextField txt) {
if (txt.getText().isEmpty() || txt.getText() == null) {
label_fail.setText("Error: You can not leave any fields blank.");
return false;
}
try {
int x = Integer.parseInt(txt.getText());
return true;
} catch (NumberFormatException e) {
label_fail.setText("Error: " + txt.getText() + " is not an integer.");
return false;
}
}
private boolean stringValidation(TextField txt) {
if (txt.getText().isEmpty() || txt.getText() == null) {
label_fail.setText("Error: You can not leave any fields blank.");
return false;
} else if (txt.getText().matches(".*\\d.*")) {
String invalidCharacters = txt.getText().replaceAll("[^0-9]", "");
label_fail.setText("Error: You've entered illegal characters in a text field. "
+ "Please remove \"" + invalidCharacters + "\" "
+ "from the highlighted field or enter a different value.");
return false;
} else {
return true;
}
}
}