我正在创建一个 html 页面,其中的表单只包含一个字段:cardId. 用户需要使用读卡器(类似键盘的输入)填写此字段。当cardId验证失败时,用户可以重试(例如不完整的读取)。当然,这只有在先前输入被清除的情况下才有可能。
我在我的 gradle 构建中使用以下依赖项
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
Run Code Online (Sandbox Code Playgroud)
两个请求映射:
@RequestMapping(value = "/search", method = RequestMethod.GET)
public String cardSearch(CardSearch cardSearch) {
return "search";
}
@RequestMapping(value = "/search", method = RequestMethod.POST)
public String cardResult(@Valid CardSearch cardSearch, BindingResult result, Model model) {
if(result.hasErrors()) {
return "search";
} else {
...
}
}
Run Code Online (Sandbox Code Playgroud)
表单对象
public class CardSearch {
@CustomValidator(message = "Card not found...")
private String cardId;
Getter and setter
}
Run Code Online (Sandbox Code Playgroud)
我正在使用自定义验证器来验证 cardId
@Override
public boolean isValid(String cardField, ConstraintValidatorContext cxt) …Run Code Online (Sandbox Code Playgroud)