0

编辑用户数据时,我希望仅当密码不为空时才动态启用密码验证。我尝试过使用呈现密码组件的 ajax 请求,以使 validateBean 标记中的禁用属性变为动态。

我的 bean 有一个布尔属性 disabledValidation,它在执行与 ajax 请求关联的侦听器时更新。

我发现的第一个问题是,当用户编写其密码组件时,输入隐藏的密码被重新呈现(由于 ajax 标签)并且他写的内容丢失了。

除了与 ajax 标记关联的侦听器永远不会执行。

<h:inputSecret id="password" binding="#{password}" value="#{userBean.user.password}">
  <f:validateBean disabled="#{userBean.disabledValidation}">
    <f:ajax event="blur" render="@this" listener="#{userBean.enableValidationIfPasswordIsFilled}"/>
  </f:validateBean>
</h:inputSecret>
<h:message for="password" />
4

0 回答 0