You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让JSF的t:inputCalendar验证错误显示title而非id属性?

解决t:inputCalendar验证错误显示title而非id的配置方法

方法一:添加label属性

给t:inputCalendar组件添加label属性,值与title保持一致,验证错误消息会自动用label的值替代id:

<t:inputCalendar id="startDate" title="Start date" label="Start date" 
                 value="#{absence.obj.start}" renderAsPopup="true" 
                 renderPopupButtonAsImage="true" popupDateFormat="dd/MM/yyyy" 
                 onkeypress="return(formatDate(this,  event))" style="width: 72px;" 
                 maxlength="10" >

Trinidad组件的验证消息默认优先使用label作为显示名称,未设置label时才会回退到组件id。

方法二:沿用项目全局资源包配置(如果已有)

若项目其他组件是通过全局资源包实现的效果,找到项目中的Trinidad消息属性文件(通常是trinidad.properties或自定义消息文件),确认日期验证错误的消息模板配置:
比如对应消息键org.apache.myfaces.trinidad.validator.DateValidator.INVALID_DATE,其值一般为:

org.apache.myfaces.trinidad.validator.DateValidator.INVALID_DATE=Invalid date: {0}

这里的{0}会自动替换为组件的label值,只需给目标组件加上label属性即可。

参考现有组件的实现

直接查看项目中已实现该效果的其他组件,确认它们是通过添加label属性还是全局资源包配置实现的,沿用相同方式即可。

内容的提问来源于stack exchange,提问作者Jonas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 00:22:05