验证针对存储库的数据输入

时间:2015-09-29 13:41:07

标签: java validation

我正在尝试创建一个“演示”付款服务,您可以在其中输入卡信息,并验证数据库以确认您输入的信息是否有效。当时它非常基础,因为数据库只是一个excel电子表格,但目的是在基本验证完成后进行扩展。 我还是很陌生的编程,并努力弄清楚当你输入卡号,cvv2号码和邮政编码时如何根据数据库中保存的信息检查输入?如果此信息不正确,将如何填充错误。到目前为止,这是我的存储库类的代码:

public class DataRepository {

   private List<DataRecord> allData = new ArrayList<>();

   public DataRepository(String excelFilePath) {

     FileInputStream inputStream;
     try {
        inputStream = new FileInputStream(new File(excelFilePath));

        Workbook workbook = new XSSFWorkbook(inputStream);
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();

        while (iterator.hasNext()) {
            Row nextRow = iterator.next();
            Iterator<Cell> cellIterator = nextRow.cellIterator();

            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();

                switch (cell.getCellType()) {
                case Cell.CELL_TYPE_STRING:
                    System.out.print(cell.getStringCellValue());
                    break;
                case Cell.CELL_TYPE_BOOLEAN:
                    System.out.print(cell.getBooleanCellValue());
                    break;
                case Cell.CELL_TYPE_NUMERIC:
                    System.out.print(cell.getNumericCellValue());
                    break;
                }
                System.out.print(" - ");
            }
            System.out.println();
        }

        inputStream.close();
    } catch (IOException e) {

        e.printStackTrace();
    }
  }

  public List<DataRecord> getAllData() {
    return allData;
  }

  public void setAllData(List<DataRecord> allData) {
    this.allData = allData;
  }
}

1 个答案:

答案 0 :(得分:0)

基本概念是使用类似isCardCorrect的方法创建名为ExcelService implements ExternalServices的接口,该方法将所有相关信息(在您的案例卡号,cvv2号和邮政编码中)作为输入参数并返回例如,真/假。

在您的应用程序中,您只使用此接口并从中调用方法。

然后,您可以创建几个实现此接口的类,如DatabaseService implements ExternalServices$scope.clickUpload = function(){ $timeout(function() { angular.element('#upload').trigger('click'); }, 100); };

根据您创建的类,然后将每个调用发送到excel或数据库。

对于错误处理,您有异常和try-catch语句。