#18: handle adding nurses, binding new method and validate input
This commit is contained in:
parent
be45122138
commit
0c3c1ec9df
3 changed files with 52 additions and 1 deletions
|
@ -1,18 +1,30 @@
|
||||||
package de.hitec.nhplus.nurse;
|
package de.hitec.nhplus.nurse;
|
||||||
|
|
||||||
|
import static de.hitec.nhplus.utils.Validator.*;
|
||||||
|
|
||||||
import de.hitec.nhplus.datastorage.DaoFactory;
|
import de.hitec.nhplus.datastorage.DaoFactory;
|
||||||
|
import javafx.beans.value.ChangeListener;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.TableColumn;
|
import javafx.scene.control.TableColumn;
|
||||||
import javafx.scene.control.TableView;
|
import javafx.scene.control.TableView;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.control.cell.PropertyValueFactory;
|
import javafx.scene.control.cell.PropertyValueFactory;
|
||||||
import javafx.scene.control.cell.TextFieldTableCell;
|
import javafx.scene.control.cell.TextFieldTableCell;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
public class AllNurseController {
|
public class AllNurseController {
|
||||||
|
@FXML
|
||||||
|
public TextField textFieldSurname;
|
||||||
|
@FXML
|
||||||
|
public TextField textFieldFirstname;
|
||||||
|
@FXML
|
||||||
|
public TextField textFieldPhoneNumber;
|
||||||
|
@FXML
|
||||||
|
public Button buttonAdd;
|
||||||
@FXML
|
@FXML
|
||||||
private TableView<Nurse> tableView;
|
private TableView<Nurse> tableView;
|
||||||
@FXML
|
@FXML
|
||||||
|
@ -43,6 +55,20 @@ public class AllNurseController {
|
||||||
this.columnPhoneNumber.setCellFactory(TextFieldTableCell.forTableColumn());
|
this.columnPhoneNumber.setCellFactory(TextFieldTableCell.forTableColumn());
|
||||||
|
|
||||||
this.tableView.setItems(this.nurses);
|
this.tableView.setItems(this.nurses);
|
||||||
|
|
||||||
|
this.buttonAdd.setDisable(true);
|
||||||
|
ChangeListener<String> inputNewNurseValidationListener = (observableValue, oldText, newText)->
|
||||||
|
{
|
||||||
|
boolean isValid = isValidFirstName(this.textFieldFirstname.getText())
|
||||||
|
&& isValidSurName(this.textFieldSurname.getText())
|
||||||
|
&& isValidPhoneNumber(this.textFieldPhoneNumber.getText());
|
||||||
|
|
||||||
|
AllNurseController.this.buttonAdd.setDisable(!isValid);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.textFieldFirstname.textProperty().addListener(inputNewNurseValidationListener);
|
||||||
|
this.textFieldSurname.textProperty().addListener(inputNewNurseValidationListener);
|
||||||
|
this.textFieldPhoneNumber.textProperty().addListener(inputNewNurseValidationListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readAllAndShowInTableView(){
|
private void readAllAndShowInTableView(){
|
||||||
|
@ -54,4 +80,25 @@ public class AllNurseController {
|
||||||
exception.printStackTrace();
|
exception.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@FXML
|
||||||
|
public void handleAdd(){
|
||||||
|
String surname=this.textFieldSurname.getText();
|
||||||
|
String firstName=this.textFieldFirstname.getText();
|
||||||
|
String phoneNumber=this.textFieldPhoneNumber.getText();
|
||||||
|
try {
|
||||||
|
this.dao.create(new Nurse(firstName, surname, phoneNumber));
|
||||||
|
}
|
||||||
|
catch (SQLException exception){
|
||||||
|
exception.printStackTrace();
|
||||||
|
}
|
||||||
|
readAllAndShowInTableView();
|
||||||
|
clearTextfields();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void clearTextfields() {
|
||||||
|
this.textFieldFirstname.clear();
|
||||||
|
this.textFieldSurname.clear();
|
||||||
|
this.textFieldPhoneNumber.clear();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,9 @@ public class Validator
|
||||||
public static boolean isValidSurName(String text){
|
public static boolean isValidSurName(String text){
|
||||||
return !text.isBlank();
|
return !text.isBlank();
|
||||||
}
|
}
|
||||||
|
public static boolean isValidPhoneNumber(String text){
|
||||||
|
return !text.isBlank();
|
||||||
|
}
|
||||||
public static boolean isValidCareLevel(String text){
|
public static boolean isValidCareLevel(String text){
|
||||||
return !text.isBlank();
|
return !text.isBlank();
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,7 @@
|
||||||
<Button
|
<Button
|
||||||
fx:id="buttonAdd"
|
fx:id="buttonAdd"
|
||||||
mnemonicParsing="false"
|
mnemonicParsing="false"
|
||||||
|
onAction="#handleAdd"
|
||||||
prefWidth="90.0"
|
prefWidth="90.0"
|
||||||
text="Hinzufügen"
|
text="Hinzufügen"
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Reference in a new issue