-1

任何人都可以建议我如何在实体中使用正则表达式模式,我已经在 springMvc+Jpa 中完成了应用程序,但我的问题是在 UI 用户名和密码字段中允许空格并且能够使用空格创建和更新用户。我有正则表达式模式的知识,但我很困惑如何在spring mvc应用程序中使用,请帮助我

提前致谢

4

1 回答 1

0

我建议阅读 Springs 官方文档中的一些内容。它们确实支持 JSR-303,您可以在其中使用验证规范注释某些属性。

http://static.springsource.org/spring/docs/3.1.1.RELEASE/spring-framework-reference/htmlsingle/spring-framework-reference.html#validation

如果您只想要简单的东西,您可以随时将值发布到控制器,在那里检查您的模式,如果不通过则抛出错误。

一个非常简单粗暴的解决方案可能看起来像这样(我打赌有更多春季经验的人可以改进很多)。假设此页面存在一个表单 bean:

jsp:

<form:form *some attributes*>
<ul class="errorMessages">
    <c:forEach items="${errorMessages}" var="msg">
        <li>${msg}</li>
    </c:forEach>
</ul>
<form:input path="myStringNotValidated" id="myStringNotValidated/>
<form:input path="myStringValidated" id="myStringValidated/>
<input type="submit" value="submit"/>
</form:form>

控制器:

List<String> errorMessages = new ArrayList<String>();
@RequestMapping(value="someURLYouPostedTo", method = RequestMethod.POST)
public ModelAndView save(@ModelAttribute myFormBean){
    if(!*check your regex here on myFormBean.getMyStringValidated()){
        errorMessages.add("Bad value on x");
        // Make sure error messages is available in the model map
        // Return to the same page
    }
}
于 2012-06-21T11:49:29.000 回答