0

好的,所以当您在处理一些 Spring MVC 项目并且您有一些具有一些 setter 函数的模型时,例如 setCountry(String country) 我知道大多数代码和书籍只是设置参数而没有任何验证,但它会是检查空值的好习惯吗?

前:

public void setCountry(String country)
  this.country = country;

后:

public void setCountry(String country)
  if (country != null) {
    this.country = country;
  }
4

1 回答 1

0

这取决于您的要求,假设您有一个输入国家/地区的表单中的下拉字段。现在,如果您已将国家/地区值设置为 USA 并提交,它将根据您的空检查条件进行设置。

现在假设用户可以重新提交表单,并且他已将国家字段重置为空,并且如果您在 setter 方法中设置了空检查条件。然后,您的字段值将保持原样(美国)表单发布之前。您的程序的用户将如何收到他的空输入被忽略的通知?除了不接受 null 作为值之外,还必须进行适当的验证。

现在想象另一组复选框。用户可以/不可以选择任何值。最初他检查了两个值,后来他决定不选择任何值,在这种情况下,他的输入必须得到处理。

所以基本上你在设置器之外设置验证规则来观察用户的输入并在对用户发布的数据执行任何操作之前通知他。

于 2016-04-06T10:02:45.197 回答