验证少数方法参数的简洁方法是什么?

时间:2017-04-06 14:09:48

标签: validation coding-style

我们说我有功能:

void sayHello(String name, String surname);

我希望确保两个参数都有效。现在我这样做:

if (name == null)
    throw new Exception("Name is invalid");
if (surname == null)
    throw new Exception("Surname is invalid");

当我使用sayHello(null, null);调用它时,我只获取有关无效name的信息。

是否有一种干净的方法可以同时警告两个错误?通过干净,我的意思是没有两个标志(或更多参数的情况下更多)和许多if语句?

这些摘录是Java版本,但我更愿意寻求通用的设计解决方案。

1 个答案:

答案 0 :(得分:0)

我建议在每次验证时构建错误消息,但是在完成所有验证后抛出一次。

例如:

void someFunction(String param1, String param2, String param3) {
  String error = "";

  if (invalid(param1)) {
    error += "param1 is invalid";
  }
  if (invalid(param2)) {
    error += "param2 is invalid";
  }
  if (invalid(param3)) {
    error += "param3 is invalid";
  }
  if (!error.equals("")) {
    throw new Exception(error);
  }
}