CIS 35A: Introduction to Java Programming

Home | Green Sheet | Lectures | Assignments | FAQ | Grades

Events

Events
Validate Swing input data
Validate multiple entries

How to validate multiple entries

  • When more than one field needs to be validated, it is best to put all the validation logic in a separate method that returns a boolean value to indicate whether or not the data is valid.

Code that validates multiple entries with a series of if statements

public boolean isValidData()
{
    // validate investmentTextField
    if (!SwingValidator.isPresent(investmentTextField, "Monthly Investment"))
        return false;
    if (!SwingValidator.isDouble(investmentTextField, "Monthly Investment"))
        return false;

    // validate rateTextField
    if (!SwingValidator.isPresent(rateTextField, "Interest Rate"))
        return false;
    if (!SwingValidator.isDouble(rateTextField, "Interest Rate"))
        return false;

    // validate yearsTextField
    if (!SwingValidator.isPresent(yearsTextField, "Number of Years"))
        return false;
    if (!SwingValidator.isInteger(yearsTextField, "Number of Years"))
        return false;

    return true;
}

Code that validates multiple entries with a compound condition

public boolean isValidData()
{
    return SwingValidator.isPresent(investmentTextField, "Monthly Investment")
        && SwingValidator.isDouble(investmentTextField, "Monthly Investment")
        && SwingValidator.isPresent(rateTextField, "Interest Rate")
        && SwingValidator.isDouble(rateTextField, "Interest Rate")
        && SwingValidator.isPresent(yearsTextField, "Number of Years")
        && SwingValidator.isInteger(yearsTextField, "Number of Years");
}

Code that calls the isValidData method from an action event listener

public void actionPerformed(ActionEvent e)
{
    Object source = e.getSource();
    if (source == calculateButton)
    {
        if (isValidData())
        {
            // code that processes the data
        }
    }
}
Previous | Display error messages | Text field | SwingValidator class | Validate multiple entries | Next