0

我有一个用于创建记录的简单表单——它有一些必填字段和两个按钮,一个用于提交,一个用于取消。问题是取消按钮不起作用(它实际上总是重新加载视图以创建记录),除非输入了所有必填字段。字段看起来像这样

<h:inputText id="name"
    value="#{userController.User.name}"
    required="true"
    requiredMessage="This field is required"
    maxlength="11" tabindex="22" />

在spring webflow定义中我添加了validation="false",也尝试了binding="false",但它没有帮助,虽然我不确定它是否相关,因为我有jsf验证问题,而不是spring webflow验证. 还要补充一点,我正在使用 Richfaces 4,这可能是有用的信息。

提前感谢您的回答。

斯特凡

4

2 回答 2

1

您的问题与 Spring Webflows 或 Richfaces 无关,而是与处理对服务器的每个请求的标准 JSF 生命周期有关。

这个循环由几个阶段组成(谷歌“jsf 生命周期”有很多插图和解释)。其中之一是处理所有验证器。如果验证失败,将中止循环并发送响应(当前页面 + 消息)。将无法到达将处理您的取消按钮的方法调用阶段。

添加immediate=true到按钮时,它将将此按钮的处理移至流程验证阶段,因此将处理验证失败事件(以及因此重新呈现页面)之前调用它。

于 2013-09-05T10:04:58.000 回答
0

尝试将 immediate="true" 添加到您的取消按钮 XHTML

于 2013-04-09T21:59:18.137 回答