如果可能的话,我正在尝试自定义约束消息,其值实际上不是正在验证的值,但属于同一类。
public Car {
@NotEmpty(message = The car of the model '${this.model}' requires a plate_number)
String plate_number;
String model;
}
现在创建它的新实例后
Car myCar = new Car(null, Audi);
验证后,我想收到消息“奥迪车型的汽车需要车牌号”
我不知道是否可能。谢谢:)
我不知道
@NotEmpty
注释,因为您正在使用 Car
创建一个 constructor
对象,而且我也知道在使用 javax
或 jakarta
验证时,通常它位于暴露于 REST 端点的 DTO
上。
作为替代方案,您可以在构造函数中使用
Assert.notNull
:
public class Car {
private String model;
private String plate_number;
public Car(String model, String plate_number) {
this.model = model;
Assert.notNull(plate_number,
"The car of the model " + this.model + " requires a plate_number");
this.plate_number = plate_number;
}
}
现在当你通过时:
Car car = new Car("Audi", null);
在控制台中,您将看到下一条错误消息:
java.lang.IllegalArgumentException: The car of the model Audi requires a plate_number