没有 p:calendar 的屏蔽日期时间输入

Masked Date-Time input without p:calendar

使用 inputMask 组件,您无法轻松验证日期格式,并且必须在后台将字符串解析为 date/time;而使用 calendar 组件,您可以设置输入掩码,以便用户可以输入日期;但是,当他们单击该字段时,它会弹出日历。

我想要的是保留 calendar 控件的键盘输入功能(屏蔽输入,绑定到日期对象),但没有物理日历弹出窗口。有这样做的选项吗?

我目前拥有的:

<p:calendar value="#{bean.someDateTimeBackingField}"
pattern="yyyy-MM-DD HH:mm" 
timeZone="#{bean.tz}" 
navigator="true" 
mask="true" />

我正在使用 Primefaces 5.1 版

如果您设置 showOn="button" 属性,弹出窗口将不会显示在焦点上。用户可以输入日期,也可以在触摸按钮后选择从弹出窗口中选择日期。

如果您想隐藏按钮,可以通过 CSS 或将 showOn 属性的值设置为不存在的值:

    <p:calendar value="#{bean.someDateTimeBackingField}"
        pattern="yyyy-MM-DD HH:mm" timeZone="#{bean.tz}" mask="true"
        showOn="trustlessComputing" />