Code: Select all
public record BankCreateRequest(
@NotBlank(message = "The name is a required field.")
@Length(max = 255, message = "The name cannot be longer than 255 characters.")
@Pattern(regexp = "^[a-zA-ZčćžšđČĆŽŠĐ\\s]+$", message = "The name can only contain alphabetic characters.")
String name,
@NotBlank(message = "The giro account is a required field.")
@Pattern(
regexp = "^555-[0-9]{3}-[0-9]{8}-[0-9]{2}$",
message = "Bank account number must be in the format 555-YYY-ZZZZZZZZ-WW"
)
@Size(min = 19, max = 19, message = "Bank account number must be exactly 19 characters long")
String bankAccountNumber,
@Pattern(
regexp = "^(\\d{3}/\\d{3}-\\d{3})?$",
message = "Fax number must be in the format XXX/YYY-ZZZ (e.g., 123/456-789)"
)
String fax
) {
}
< /code>
public record BankUpdateRequest(
@Length(max = 255, message = "The name cannot be longer than 255 characters.")
@Pattern(regexp = "^[a-zA-ZčćžšđČĆŽŠĐ\\s]+$", message = "The name can only contain alphabetic characters.")
String name,
@Pattern(
regexp = "^555-[0-9]{3}-[0-9]{8}-[0-9]{2}$",
message = "Bank account number must be in the format 555-YYY-ZZZZZZZZ-WW"
)
@Size(min = 19, max = 19, message = "Bank account number must be exactly 19 characters long")
String bankAccountNumber,
@Pattern(
regexp = "^(\\d{3}/\\d{3}-\\d{3})?$",
message = "Fax number must be in the format XXX/YYY-ZZZ (e.g., 123/456-789)"
)
String fax
) {
}
record BankCreateRequest(@NotNull Name name, @NotNull BankAccountNumber bankAccountNumber, Fax fax) {}
record BankUpdateRequest(Name name, BankAccountNumber bankAccountNumber, Fax fax) {}
< /code>
und haben drei dedizierte Datensätze, die überprüfen, ob diese Werte gültig sind. Geht dies gegen gemeinsame Best Practices für Werteobjekte, da diese per Definition nicht null sein können? Gibt es einen besseren Ansatz, der so einfach ist?