Regola di convalida o regola aziendale

0

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?

    
posta Mani Rai 06.11.2017 - 09:46
fonte

1 risposta

1

Anche se "vehicleId deve esistere" può essere anche una regola d'affari (piuttosto non specifica), in questo caso è principalmente una regola di validazione. A meno che non ci siano casi in cui crei e assegni un nuovo ID per un veicolo, la regola aziendale è implicita (devi avere un ID per l'entità se intendi lavorare con esso).

Considereresti che "l'utente deve esistere se vuoi cambiare la sua password" una regola aziendale? Penso di no.

Se altre parti del tuo sistema sono state in grado di creare e assegnare VehicleId, la regola aziendale sarebbe "i veicoli devono avere vehicleId, a meno che non vengano creati", il che comporterebbe due regole di convalida in parti separate del sistema.

    
risposta data 06.11.2017 - 09:54
fonte

Leggi altre domande sui tag