验证问题
当方法“注册”时我会运行验证
在网络流中: ...
<transition on="registered" to="registeredAction" bind="true" validate="true" />
...
我的模型如下所示:
class User {
private String name;
private String surname;
...
private List <address> addresses;
...
public void validateRegistered (ValidationContext context) {
Context.getMessageContext MessageContext messages = ();
if (name == null) {
messages.addMessage (new MessageBuilder (.) error (). source ("name".) code (MessageCodes.Error.REQUIRED.) build ());
}
}
在地址类中
Class Address {
private String street;
private String city;
public void validateRegistered (ValidationContext context) {
Context.getMessageContext MessageContext messages = ();
if (street == null) {
messages.addMessage (new MessageBuilder (.) error (). source ("street".) code (MessageCodes.Error.REQUIRED.) build ());
}
}
执行操作并在 User 类的 validator 中获取错误,但在 Class Address 上则不然
有人知道为什么会这样吗?
最佳答案
Spring 只会在作为 View 状态模型的 bean 集上调用验证。
以下内容仅验证用户
:
<view-state id="something" view="something.jsp" model="user">
<transition on="registered" to="registeredAction" bind="true" validate="true" />
</view-state>
您需要创建一个封装用户和地址的对象并将其用作模型(并在其验证方法中调用User
和Address
的验证方法) .
关于java - Spring/Webflow 验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6571450/