Validation 如何自定义faces消息的表示方式
我想自定义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
<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>