我希望验证jsp中的用户输入,这些输入使用<spring:bind>
绑定到Springformdata对象,而不会触及控制器。
有没有其他方法可以在不使用javascrpit的情况下在Spring MVC中实现这一点。
见下面的代码
<tr><td>
<spring:bind path="applyDmlFormData.file">
Select DML File : <input type="file" name="file"/>
</spring:bind>
</td></tr>
这里我要求用户浏览/选择输入文件,然后将其附加到applyDmlFormData对象的文件属性。
如果用户没有选择任何文件并提交表单,我想在forntend中验证它,而不是命中控制器并显示错误消息,说我必须选择文件。基本上我想实现struts验证框架中提供的相同功能。
要添加的另一件事是我不想使用将由控制器调用的验证器
@RequestMapping(value="/applyDml.htm", method = RequestMethod.POST)
public String process(@ModelAttribute("applyDmlFormData") ApplyDmlFormData applyDmlFormData, BindingResult result, SessionStatus status, HttpServletRequest request)
{
String mav = applyDmls;
validator.validate(applyDmlFormData, result);
if(!result.hasErrors())
{ //Business logic goes here
}
}
在上面的代码中,我使用validator.validate验证用户输入。我不想这样做。
答案 0 :(得分:1)
Struts Validator框架生成客户端JavaScript; AFAIK,Spring MVC不提供类似的功能。您需要滚动自己的客户端验证代码。即使你在应用程序中包含Spring JS,你仍然需要编写自己的验证代码; here's an example
请注意,您不需要在处理程序方法中使用Validator
对象。您还可以使用@ModelAttribute
注释@Valid
并使用JSR-303注释。有关详细信息,请参阅http://static.springsource.org/spring/docs/current/spring-framework-reference/html/validation.html#validation-beanvalidation-overview。
答案 1 :(得分:1)
您可以浏览Rhino library ..找到spring integration api here