gpt4 book ai didi

validation - 禁用/启用 h :commandButton on validation fails/is ok

转载 作者:行者123 更新时间:2023-12-04 04:47:46 25 4
gpt4 key购买 nike

我得到了一个带有验证器和命令按钮的 TextBox。当文本框的验证失败时,我想禁用命令按钮,否则应该启用它。我不想使用任何代码隐藏,所以它应该可以在 bean 中没有任何辅助属性的情况下工作。

那么如何根据验证器状态告诉命令按钮被禁用/启用?

  <h:outputLabel for="category" value="#{msg['category.create']}"/>
<h:inputText id="category" required="true" label="#{msg['category.create']}" value="#{CreateCategoryBean.newCategory.name}" >
<f:validator validatorId="Get.Validator.CategoryValidator" />
<f:ajax event="keyup" render="categorymessage" />
</h:inputText>

<h:messages for="category" id="categorymessage"/>

<h:commandButton id="submit" value="#{msg['default.create']}" action="#{CreateCategoryBean.CreateCategory()}"

最佳答案

因为您已经是 <f:ajax event="keyup"> ,就让它更新<h:commandButton>以及你在它的disabled中依次属性检查是否 UIComponent#isValid() <h:inputText>不返回 false .

<h:inputText binding="#{category}" ...>
<f:ajax ... render="categoryMessage submit" />
</h:inputText>

<h:commandButton id="submit" ... disabled="#{not category.valid}" />
不需要额外的 bean 属性。上面的代码是完整的。
另见:
  • How does the 'binding' attribute work in JSF? When and how should it be used?
  • 关于validation - 禁用/启用 h :commandButton on validation fails/is ok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17926245/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com