如果jsf客户端验证失败,则无法更改spring webflow状态

时间:2013-04-09 10:32:18

标签: spring jsf spring-webflow client-side-validation

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

<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,它可能是有用的信息。

提前感谢您的回答。

的Stefan

2 个答案:

答案 0 :(得分:1)

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

这个循环包括几个阶段(谷歌“jsf生命周期”,大量的插图和解释)。其中一个是处理所有验证器。如果验证失败,则将中止循环并发送响应(当前页面+消息)。将无法访问将处理取消按钮的方法调用阶段。

immediate=true添加到按钮时,它会将此按钮的处理移至进程验证阶段,因此在处理验证失败事件之前将其称为(因此 - 翻译页面。)

答案 1 :(得分:0)

尝试将immediate =“true”添加到“取消”按钮XHTML