说我的命令看起来像这样
public class MyForm {
@Max(99)
private int mode;
private MyObj myObj;
我的MyObj是
public class MyObj {
private String myStr;
private int myInt;
我的控制器看起来像这样
@Controller
public class MyController {
@RequestMapping(value = "/Anything.htm")
public String AnythingMethod(@Valid MyForm myForm, .....
我的JSP看起来像这样
<form:input path="mode"/>
<form:input path="myObj.myStr"/>
如何为myStr和myInt注入@NotNull @MAx @Min等验证?如何在messages.properties中指定错误消息?请帮忙。
答案 0 :(得分:1)
不确定问题中发布的代码是否完整,您可能会遗漏一些注释。此外,由于您在评论中提到某些其他字段的验证有效,我将假设您拥有所有dependencies sorted out。
所以试试这个:
在MyForm
课程中:
public class MyForm {
@Max(99, message="{myform.mode.max}")
private int mode;
@Valid // add @valid annotation
private MyObj myObj;
在MyObj
课程中:
public class MyObj {
@NotBlank(message="{myobj.mystr.notnull}")
private String myStr;
@Max(/* some value */, message="{myobj.mystr.max}")
@Min(/* some value */, message="{myobj.mystr.min}")
private int myInt;
在MyController
课程中:
@Controller
public class MyController {
@RequestMapping(value = "/Anything.htm") /* add @ModelAttribute annotation */
public String AnythingMethod(@Valid @ModelAttribute('myForm') MyForm myForm, .....)
至于在.properties
文件中指定错误消息,将它们全部放入ValidationMessages.properties
文件中,并将此文件添加到类路径的根目录中。 (例如,/WEB-INF/classes
,resources
文件夹等。)。
希望这有帮助。