データベースにデータを挿入する前に空白のフィールドを検証しようとすると問題が発生します。現在、Netbeans JavaFX アプリケーション、シーン ビルダー、および MySQL を使用しています。
このメソッドでは、パネル内のコンポーネントをコントローラー クラスに渡します。
private void createProduct(ActionEvent event){
CreateProductController controller = new CreateProductController();
boolean result = controller.create(myPane);
if(result)
{
System.out.println("Success");
}
}
コントローラー クラス内で、挿入前に空のフィールドをチェックする validateDetails メソッドと create メソッドを取得しました。
public boolean create(CreateProductUI panel){
String name = panel.getNameTextField().getText();
//And the rest of the components which I removed before it's very long
//I used if else statement to check
boolean invalid = true;
if(invalid){
validateDetails(name,desc,priceStr,qtyStr,dateStr,image,category);
return invalid;
}else{
invalid = false;
Product product1 = new Product(name,desc,price,quantity,dateStr,image,category);
product1.create();
return invalid;
}
}
ここに私の検証方法があります:
public void validateDetails(String name,String desc,String priceStr,String qtyStr,String dateStr,Image image,int category){
if(name.equals("")){
JOptionPane.showMessageDialog(null,"Please enter name");
}else if(desc.equals("")){
JOptionPane.showMessageDialog(null,"Please enter description");
}else if(priceStr.equals("")){
JOptionPane.showMessageDialog(null,"Please enter price");
}else if(qtyStr.equals("")){
JOptionPane.showMessageDialog(null,"Please enter quantity");
}else if(category <= -1){
JOptionPane.showMessageDialog(null,"Please choose category");
}
}
ただし、空白のフィールドが検出された場合、プログラムは実行されず、エラー メッセージが表示されません。たとえば、2 つのフィールドを空白のままにします。プロンプトが2回表示されるはずです。代わりに、データベース テーブルに追加するだけです。
前もって感謝します。