jsf(richfaces)只读输入文本验证

Ali*_*ila 6 java validation jsf richfaces java-ee

有没有什么方法可以验证一个只读的jsf输入文本,但是在触发其他一些事件时值会改变?

Bal*_*usC 13

仅在渲染响应阶段将readonly属性设置为true.这样,在渲染响应阶段之外的所有其他阶段中,它不会被视为只读.

<h:inputText ... readonly="#{facesContext.currentPhaseId.ordinal eq 6}" />
Run Code Online (Sandbox Code Playgroud)

  • 在我的情况下,`#{facesContext.renderResponse}在绘制HTML时返回false(将其打印在中间).无论如何,它的作用是`#{facesContext.currentPhaseId.ordinal eq 6}`.Mojarra 2.1.9. (2认同)

Ali*_*ila 2

我已经通过解决方法解决了这个问题。我添加了一个inputHidden字段,该字段的required属性true不会出现在界面上,但会被验证:

<h:inputHidden value="#{bean.value}" required="true"
                    requiredMessage="Data must be entered" />
Run Code Online (Sandbox Code Playgroud)

bean.value 的值被其他事件更改,并且在 inputHidden 上的某些重新渲染时,会进行验证。