gpt4 book ai didi

validation - 获取特定组件的验证消息

转载 作者:行者123 更新时间:2023-12-03 16:39:11 26 4
gpt4 key购买 nike

<h:inputText id="myInputText"
title="The text from validation message here"
style="#{component.valid? '' : 'border-color:red'}"
validator="#{MyBean.validate}"
required="true"
requiredMessage="required"
value="#{MyBean.value} />
<p:message for="myInputText" display="text"/>

因为我想自定义在 inputText 组件中查找失败的验证,并且我知道可以知道该组件是否已成功验证,所以我想知道它是否可行以及如何获得验证消息,以便将其显示为我的 inputText 组件的标题。

最佳答案

您计划的问题是单个组件可以有多个消息排队。那你打算怎么办?出于演示目的,您可以使用

<h:inputText id="myInputText"
title="#{facesContext.getMessageList('myInputText').get(0)}"
style="#{component.valid ? '' : 'border-color:red'}"
validator="#{MyBean.validate}"
required="true"
requiredMessage="required"
value="#{MyBean.value}" />

编辑:您应该将逻辑移动到您的支持 bean 中:

  1. 实现一个方法,在给定 clientId

    的情况下,从可用的 FacesMessage 列表中提取详细信息
    public String getComponentMessageDetail(String clientId) {
    String detail = null;
    FacesContext ctxt = FacesContext.getCurrentInstance();
    List<FacesMessage> componentMessages = ctxt.getMessages(clientId);

    if (componentMessages != null && componentMessages.isEmpty() == false) {
    //returns the detail, from only the first message!
    detail = componentMessages.get(0).getDetail();
    }

    return detail;
    }
  2. 在你的 View 中使用实用方法

     <h:inputText id="myInputText"
    title="#{MyBean.getComponentMessageDetail('myInputText')}"
    style="#{component.valid ? '' : 'border-color:red'}"
    validator="#{MyBean.validate}"
    required="true"
    requiredMessage="required"
    value="#{MyBean.value}" />

关于validation - 获取特定组件的验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26976361/

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