【问题标题】:Spring MVC model - check parameter values in functions?Spring MVC 模型 - 检查函数中的参数值?
【发布时间】:2016-04-06 08:29:32
【问题描述】:

好的,所以当你在做一些 Spring MVC 项目并且你有一些模型时 有一些 setter 函数,比如 setCountry(String country) 我知道大多数代码和书籍只是设置参数而没有任何验证, 但检查 null 是否是一种好习惯?

之前:

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

之后:

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

【问题讨论】:

    标签: spring-mvc parameters model dao null-check


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 好的,所以我想我应该在模型中调用 setter 函数之前验证输入数据,对吧?我认为这符合大多数 Spring 教程。
    • 实际上,一旦您发布,它将通过您的 setter 方法绑定到您的模型。但好的做法是不要使用完整的模型数据,除非您对其进行验证。如果数据验证正常,则处理数据,否则通知用户验证失败。
    猜你喜欢
    • 2019-01-07
    • 2015-11-18
    • 2013-02-18
    • 2018-08-18
    • 1970-01-01
    • 2021-05-31
    • 2011-11-24
    • 2021-12-09
    • 1970-01-01
    相关资源
    最近更新 更多