【问题标题】:How to Use @NotNull Annotation Correctly?如何正确使用@NotNull 注解?
【发布时间】:2019-05-11 17:52:12
【问题描述】:

我在注册页面的 JSF 的 Java bean 类上使用了 @NotNull 注释。但它没有按预期工作。

这是我的 xhtml 页面部分:

User Name : <h:inputText value="#{user.userName}" />

这是我的 Java bean 部分:

@NotNull(message = "User name cannot be null")
private String userName;

public String getUserName() {
    return userName;
}

public void setUserName(String userName) {
    this.userName = userName;
}

但它仍然将用户名保存到数据库(PostgreSQL)为''。所以从技术上讲,它不是空的。 我知道可能我还必须使数据库上的该列不为空。但是我们使用@NotNull 注解有什么用呢?

【问题讨论】:

标签: jsf bean-validation


【解决方案1】:

我相信你想要使用的是@NotBlank。这是@NotNull@NotEmpty@NotBlank之间的一些reference

public class UserNotBlank {

    @NotBlank(message = "Name may not be blank")
    private String name;

    // standard constructors / getters / toString

}

@NotNull:受约束的 CharSequence、Collection、Map 或 Array 只要不为 null 就有效,但可以为空

@NotEmpty:受约束的 CharSequence、Collection、Map 或 Array 是有效的,只要它不为 null 并且其大小/长度大于零

@NotBlank:受约束的字符串只要不为空且修剪长度大于零就有效

【讨论】:

猜你喜欢
  • 2017-09-26
  • 1970-01-01
  • 2014-03-02
  • 2016-03-09
  • 1970-01-01
  • 2014-08-21
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多