我试图在Spring MVC中验证我的字段,我尝试了几种方法,但都不起作用。
我以前implementation("org.springframework.boot:spring-boot-starter-validation")
,然后是implementation("javax.validation:validation-api:2.0.1.Final")
我给这些类做了注解
@Data
data class Taco(
@NotBlank
@Size(min = 5, message = "Name must be at least 5 characters long")
var name: String = "",
@NotEmpty
@Size(min = 1, message = "You must choose at least one ingredient")
var ingredient: MutableList<Ingredients> = mutableListOf()
)
准备控制器
@PostMapping
fun processTaco(
@Valid taco: Taco,
bindingResult: BindingResult,
@ModelAttribute tacoOrder: TacoOrder,
): String {
//In case there are errors based on the data object validations, return to the design page.
if (bindingResult.hasErrors()) return "design"
tacoOrder.addTaco(taco)
println("Processing Taco:$taco")
return "redirect:/orders/current"
}
并实现了该设计
<div>
<h3>Name your taco creation:</h3>
<input type="text" th:field="*{name}"/>
<span class="invalid-feedback"
th:if="${#fields.hasErrors('name')}"
th:errors="*{name}">name Error</span>
<br/>
<button>Submit Your Taco</button>
</div>
但无法根据条件验证单个字段...如何做到这一点?
此致
1条答案
按热度按时间vx6bjr1n1#
经过几次尝试之后,我在控制器中以这种方式进行了验证检查
希望它对某些人有用。