Hibernate 如何将模型传递到表单而不触发验证(编辑前)

Hibernate 如何将模型传递到表单而不触发验证(编辑前),hibernate,spring-boot,thymeleaf,Hibernate,Spring Boot,Thymeleaf,使用thymeleaf表单和hibernate,我想向表单传递一个模型,在视图中填充它的值,然后验证并创建这个对象。 问题是,当我将模型传递给表单时,我得到了一个验证错误 遵循本教程: 可在此处下载完整项目: 映射: @GetMapping("/createbusvehicle") public String createBusVehicleDisplay(BusVehicle busVehicle) { return "createBusVehicle"; } @PostMappin

使用thymeleaf表单和hibernate,我想向表单传递一个模型,在视图中填充它的值,然后验证并创建这个对象。 问题是,当我将模型传递给表单时,我得到了一个验证错误

遵循本教程:

可在此处下载完整项目:

映射:

@GetMapping("/createbusvehicle")
public String createBusVehicleDisplay(BusVehicle busVehicle) {
    return "createBusVehicle";
}

@PostMapping("/createbusvehicle")
public String checkAndCreateBusVehicle (@Valid BusVehicle newBusVehicle, BindingResult bindingResultModel, Model model) {
    busVehiculeRepository.save(newBusVehicle);
    return "mainpage";
}
HTML:


当从CreateBusVehicleDisplay方法中删除BusVehicle时,我有一个错误,即BindingResult和bean名称“BusVehicle”的普通目标对象都不能作为请求属性使用。在字段“passengerCapacity”上的对象“busVehicle”中有字段错误:拒绝值[null];[…]

将int改为整数,同时也从BusVehicle构造函数中删除@NotNull

@NotNull
@Min(0)
@Max(70)
@Column(name = "BUSVEHICULE_PASSENGERCAPACITY")
private Integer passengerCapacity;

您还需要在createbusvehicle.html文件中将表单post URL改为/createbusvehicle,而不是/createbusvehicle。

是的,但目标是进行验证并能够像示例中那样使用它…@Lymn更新了答案,这对我来说是正确的。
@NotNull
@Min(0)
@Max(70)
@Column(name = "BUSVEHICULE_PASSENGERCAPACITY")
private int passengerCapacity;
@NotNull
@Min(0)
@Max(70)
@Column(name = "BUSVEHICULE_PASSENGERCAPACITY")
private Integer passengerCapacity;