小编Joh*_*anB的帖子

更改/清除验证错误时的表单值

我正在创建一个 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)

spring spring-mvc thymeleaf spring-boot

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×1

spring-boot ×1

spring-mvc ×1

thymeleaf ×1