Restringierte Properties
Man kann den Wert einer Property einschränken, z.B. die folgende Schranke
@Constraint(FileSizeConstraint.class)
BinaryData getFile();
public final class FileSizeConstraint extends ValueConstraint<BinaryData> {
public static final FileSizeConstraint INSTANCE = new FileSizeConstraint();
private ExampleFileSizeConstraint() {
super(BinaryData.class);
}
@Override
protected void checkValue(PropertyModel<BinaryData> model) {
BinaryData data = model.getValue();
if (data != null) {
if (data.getSize() > 1024*1024) {
model.setProblemDescription(I18NConstants.SIZE_1MB_EXCEEDED);
}
}
}
}
gibt 1MB als maximale Dateigröße und zeigt dem Nutzer beim Upload einer größeren Datei eine Fehlermeldung mit der obigen Problembeschreibung.