Spring MVC 模型 - 检查函数中的参数值?

Spring MVC model - check parameter values in functions?

好的,所以当您处理一些 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;
  }

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

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

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

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