1

我有这样的代码:

<h:inputText id="input" value="#{bean.input}">
                           <f:convertNumber />
                           <rich:ajaxValidator event="onblur" />
</h:inputText>

我希望如果验证成功,来自“输入”的数据存储在我的支持 bean 中。而这一切都必须发生在“onblur”事件上。

我在我的支持 bean 中使用了 Hibernate Validator:

@Min(value = 1)
@NotNull(message="{number.not_null}")
public long getInput() {
    return input;
}
4

1 回答 1

0

那你就用错了方法。

来自 Richfaces 文档:AjaxValidator “跳过除验证之外的所有 JSF 处理。”

你应该<a4j:support>改用

例如。

<h:inputText id="input" value="#{bean.input}">
  <f:convertNumber />
  <a4j:support event="onblur" ajaxSingle="true" />
</h:inputText>

验证仍然会触发,但如果成功,那么您的 Bean 的值将被更新。

于 2009-06-23T10:10:57.267 回答