我无法弄清楚如何进行简单的一字段验证,在此我可以根据服务检查值(或者实际上是任何其他逻辑检查)。
我看到的大多数表单验证都使用类来使用javax.validation来保存表单数据,并使用@ NotNull,@ Min(10)等属性进行标记。然后检查BindingResult.hasErrors()。就像这里:https : //spring.io/guides/gs/validating-form-input/
我正在尝试对单个字段执行此操作,并且我想根据服务将返回给我的内容而不是那些验证属性之一进行验证。
我要在控制器中的POST处理程序中放入什么以实现此目的?
这就是我控制器中用来管理表单结果的内容
@RequestMapping(value = "/myController", method=RequestMethod.POST)
public String checkFieldVal(@RequestParam String valFromForm){
if(!myService.isThisValueGood(valFromForm)) {
//Show the user their value is bad
}
//return to some other page
}
这是在我的JSP中(类似这样的简单内容):
<form id="form" method="POST">
<label for="valueToCheck">What's your value:</label>
<input type="text" id="valueToCheck" name="valueToCheck"></input>
<input type="submit" value="Submit">
</form >
尝试替换为:
<form id="form" method="POST">
添加action
如下所示:
<form action="myController" id="form" method="POST">
并替换为:
@RequestMapping(value = "/myController", method=RequestMethod.POST)
public String checkFieldVal(@RequestParam String valFromForm){
添加正确的名称:
@RequestMapping(value = "/myController", method=RequestMethod.POST)
public String checkFieldVal(@RequestParam("valueToCheck") String valueToCheck){
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句