首页 > 解决方案 > “文本字段验证无法正常工作”

问题描述

验证部分的问题,没有关于空字段的消息显示。立即帮助

私人无效addbtnActionPerformed(java.awt.event.ActionEvent evt){

    try{

    Class.forName("com.mysql.cj.jdbc.Driver");
    Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/dbfinance","root","1234");
    String sql="insert into util(type_,due_date,month_,amount,units,status_) values(?,?,?,?,?,?)";
    PreparedStatement pstm =con.prepareStatement(sql);

    pstm.setString(1,electype.getSelectedItem().toString());
    pstm.setString(2,date.getText().toString());
    pstm.setString(3,jComboBox1.getSelectedItem().toString());
    pstm.setDouble(4,Double.parseDouble(amount.getText()));
    pstm.setString(5,unit.getText());
    pstm.setString(6,status.getText());



   pstm.executeUpdate();
   JOptionPane.showMessageDialog(null, "success");
   con.close();

        }catch(Exception e){

            JOptionPane.showMessageDialog(null,e);

        }
     if(amount.getText().isEmpty()||unit.getText().isEmpty()||status.getText().isEmpty()){

            JOptionPane.showMessageDialog(null,"please enter data");

           // errorname2.setText("fill this field");
    }        
}

标签: javanetbeans

解决方案


在验证之前,您不应该将数据插入数据库。仅当数据不为空时才插入数据。至于检查数据是否为空,最好修剪文本以便修剪掉任何空格,因为空格表示某些值。

if(amount.getText().trim().isEmpty()||unit.getText().trim().isEmpty()||
            status.getText().trim().isEmpty()){
        JOptionPane.showMessageDialog(null,"please enter data");
        // errorname2.setText("fill this field");
    }

请确保将修剪后的数据插入到数据库中。


推荐阅读