Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 如何自定义faces消息的表示方式_Validation_Jsf 2 - Fatal编程技术网

Validation 如何自定义faces消息的表示方式

Validation 如何自定义faces消息的表示方式,validation,jsf-2,Validation,Jsf 2,我想自定义faces消息的显示 为此, <h:inputText id="name" required="true" /> 当验证失败时,它将显示在 <h:message for="name" /> 但是,我想定制演示调用JS,如下所示: <div class="notification"></div> function showNotification(msg){ $(".notification").html(msg); $(".n

我想自定义faces消息的显示

为此,

<h:inputText id="name" required="true" />

当验证失败时,它将显示在

<h:message for="name" />

但是,我想定制演示调用JS,如下所示:

<div class="notification"></div>
function showNotification(msg){
$(".notification").html(msg);
$(".notification").fadeIn(1000, function(){
    timeout = setTimeout(function(){
        $(".notification").fadeOut(1000);
    }, 5000);
});
}

函数showNotification(msg){
$(“.notification”).html(msg);
$(“.notification”).fadeIn(1000,函数(){
timeout=setTimeout(函数(){
美元(“.notification”)。淡出(1000);
}, 5000);
});
}
如何实现这一点?

您可以使用来获取视图中的消息,如果需要,可以获取特定客户端ID的消息。您可以在视图中迭代这些消息。每个项目都是一个具有多个getter的项目。您可以使用
显示消息中的任何HTML

因此,简而言之:

<ui:repeat value="#{facesContext.messageList('form:name')}" var="message">
    <div><h:outputText value="#{message.summary}" escape="false" /></div>
</ui:repeat>
只要让JSF打印
showNotification(“#{message.summary}”)
,前提是您的消息不包含可能破坏JS代码的字符,例如换行符。
<ui:repeat value="#{facesContext.messageList('form:name')}" var="message">
    <div>#{message.summary} <a href="help.xhtml">help</a></div>
</ui:repeat>