我在Java Bean类的@NotNull注释中使用了JSF的注册页面。但是它并没有像预期的那样工作。
这是我的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;
}
但是它仍然将userName作为''保存到数据库(PostgreSQL)中。因此,从技术上讲,它不是null。 我知道可能是我也必须使数据库上的该列不为空。但是我们接下来使用@NotNull批注呢?
答案 0 :(得分:2)
我相信您要使用的是@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:受约束的字符串有效,只要它不为null且修剪后的长度大于零即可