java - Spring/Webflow 验证问题

标签 java spring validation spring-webflow

验证问题

当方法“注册”时我会运行验证

在网络流中: ...

<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>

您需要创建一个封装用户和地址的对象并将其用作模型(并在其验证方法中调用UserAddress的验证方法) .

关于java - Spring/Webflow 验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6571450/

相关文章:

java - 如何读取多个子节点并获取值

ios - 验证失败时防止光标移动

用于验证字符串类型的python正则表达式

JavaScript 表单验证在提交时不起作用

java - JSP模板实现(Composite View Pattern)

java - 如何在Java中分割法国日期和时间

java - 405 Spring MVC 中客户端请求命中拦截器之前不支持请求方法 'GET'

java - 使用 Play2 框架进行 Spring 属性注入(inject)

java - 将嵌入式 HSQL 数据库保存到文件

java - 使用 spring-boot 在依赖注入(inject)中创建 bean 时出错