Как правильно использовать аннотацию @NotNull? - PullRequest
0 голосов
/ 11 мая 2019

Я использовал аннотацию @NotNull для класса Java-бина для JSF на странице регистрации.Но это не работает, как expceted.

Вот моя часть страницы xhtml:

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

А вот моя часть Java-бина:

@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?

1 Ответ

2 голосов
/ 11 мая 2019

Я считаю, что вы хотите использовать @NotBlank.Вот некоторые ссылки между @NotNull, @NotEmpty и @NotBlank.

public class UserNotBlank {

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

    // standard constructors / getters / toString

}

@ NotNull: ограниченный CharSequence, Collection, Map или Arrayдопустимый, если он не равен нулю, но может быть пустым

@ NotEmpty: ограниченный CharSequence, Collection, Map или Array действителен, если он не равен нулю и его размер / длина больше нуля

@ NotBlank: ограниченная строка действительна, если она не равна нулю и усеченная длина больше нуля

...