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