89 подписчиков
🖥 Какие отличия между @NotEmpty, @NotBlank и @NotNull?
▶️В разных примерах Entity класса, по-разному валидируют поля:
@NotNull
@Size(min=3)
@Column(name = "login")
private String login;
@Email
@Size(min=6, max=80)
@NotBlank(message="{register.email.invalid}")
@Column(name = "email", unique=true)
private String email;
@Column(name = "first_name")
@NotEmpty(message = "Please provide your first name")
private String firstName;
@Column(name = "last_name")
@NotEmpty(message = "Please provide your last name")
private String lastName;
@Transient
private String password;
Но какие между ними различия и что следует использовать и в каких случаях?
А также если указана аннотация @Size(min=6, max=80) нужно ли дополнительно проверять с помощью @NotBlank или других аннотаций?
▶️Итак, ответ:
• @NotBlank применяется только к строкам и проверяет, что строка не пуста.
• @NotNull применяется к CharSequence, Collection, Map или Array и проверяет, что объект не равен null. Но при этом он может быть пуст.
• @NotEmpty применяется к CharSequence, Collection, Map или Array и проверяет, что он не null имеет размер больше 0.
Аннотация @Size(min=6) пропустит строку состоящую из 6 пробелов и/или символов переноса строки, а @NotBlank не пропустит.
1 минута
14 апреля 2024