У меня есть объект-адрес вроде этого:
@Entity
public class Address implements java.io.Serializable {
@Id @GeneratedValue(strategy = IDENTITY)
private Long id;
@Size(max = 100)
private String street;
@Size(max = 15)
private String nr;
@Field
@Size(min = 1, max = 20) @NotBlank
private String city;
}
Это часть нескольких других объектов. Для одного такого объекта адрес является необязательным. У меня есть представление, где наши пользователи могут редактировать весь объект через несколько входных форматов, включая несколько полей адреса.
Чтобы иметь возможность редактировать адрес, я инициализирую родительский объект пустым узлом адреса.
Теперь проблема заключается в следующем: я не хочу сохранять объект Address
в сущности, когда все поля адреса пустые. Для этого мне нужно пропустить проверку для объекта, если (и только если) все поля Address
пусты. Как мне сделать это самым элегантным способом?
То, что я сейчас делаю, это пропустить проверку bean с помощью <o:validateBean disabled="true" />
для кнопки отправки, установив адрес null
, если он выйдет пустым. Но это звучит как полный взлом, поскольку он отключает все проверки во всех случаях. Как я могу сделать лучше?