Sono in una confusione in cui non riesco a decidere se una regola è una regola di convalida o una regola aziendale. Ho un semplice POJO con regole di convalida del bean JSR 303.
public class VehicleDto {
@NotNull(message = "Vehicle ID is not given.")
@Size(min = 3, max = 20, message = "Vehicle ID length is out of range of 3 to 20.")
@Pattern(regexp = "^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$", message = "Vehicle ID is not alphanumeric.")
private String id;
@NotNull(message = "Vehicle name is not given.")
@Size(min = 3, max = 45, message = "Vehicle name length is out of range of 3 to 45.")
private String name;
@Min(value = 1, message = "Organization ID is not given.")
private long organizationId;
private Long deviceId;
}
Credo che la regola di convalida sia la convalida dei dati. Ad esempio: in pojo sopra, ho un id del veicolo che dovrebbe essere sempre alfanumerico di lunghezza almeno da 3 a 20 se id veicolo esiste. Ma dovrebbe esistere per registrare un veicolo è la nostra politica aziendale diritto che sembra essere una regola di business. Anche durante la registrazione di un veicolo, la necessità di chiavi esterne (organizationId e deviceId) verifica la presenza di entità per la registrazione, è anche una regola aziendale.
Questi sono i pensieri che mi stanno confondendo. Ho ragione su quei pensieri ragazzi?