Jsf 我们可以使用<;p:日历>;

Jsf 我们可以使用<;p:日历>;,jsf,jsf-2,primefaces,calendar,mask,Jsf,Jsf 2,Primefaces,Calendar,Mask,我希望日期文本字段应为带日历按钮的屏蔽格式(2011年11月11日)。我们可以对日历应用掩码操作吗?应用datePattern属性 <h:column> <f:facet name="header"> <h:outputLabel value="#{label.asOfDate}" style="font-weight:bold" /> <h:outputLabel value="*" st

我希望日期文本字段应为带日历按钮的屏蔽格式(2011年11月11日)。我们可以对日历应用掩码操作吗?

应用
datePattern
属性

<h:column>
    <f:facet name="header">
        <h:outputLabel value="#{label.asOfDate}" style="font-weight:bold" />
        <h:outputLabel value="*"
            style="font-weight:bold; color:red; font-size:150%" />
    </f:facet>

    <p:calendar id="date" required="true" navigator="true"
        mindate="#{utils.minDate}" pattern="#{label.dateFormat}"
        maxdate="#{utils.maxDate}" value="#{policy.asOfDt}"
        requiredMessage="#{label.asOfDateRequired}" showOn="button">
        <f:validator validatorId="CustomDateValidator" />
    </p:calendar>

</h:column>

至于,这是不可能的。这里的问题由PF首席开发人员回答(请相信他;-)。他建议结合jquery()编写一个复合组件

INMO,如果您必须使用额外的jquery插件来完成此任务,那么最好同时使用jquery:calendar和mask(需要一点额外的代码来将bean值绑定到负责日历的输入)

看看这个解决方案

还有一个


您可以通过将输入字段设置为“只读”来解决此问题,以强制用户选择日期

以下是要添加到输入字段以强制执行此操作的属性:

datePattern="MM/dd/yyyy" 

您可以使用以下内容: `


var$=jQuery;
$(文档).ready(函数(){
$(“输入[id*='Date'])。掩码('99/99/9999');
});

`

自Primefaces 5.0以来,您可以使用日历的属性掩码

<script type="text/javascript" language="JavaScript">
          var $ = jQuery;
          $(document).ready(function() {
              $("input[id*='Date']").mask('99/99/9999');
          });
     </script>
     <p:calendar id="documentDate" />

有人知道吗?你必须把他的名字写对才能让别人听到;-)Vikas,
@昵称
评论回复只有在此人之前(我没有)在帖子上发表过评论时才有效,而且,事实上,只有在您拼写正确的情况下才有效:)这也不起作用。。。。。我想要jsf/prime faces中带有日历的掩码…这意味着当用户传递日期时,它会自动将日期作为dd/MM/yyyy格式(用户不需要以格式传递),或者从日历中选择…然后选择自定义jquerycomponent@Vikas当前位置我不太确定我是否理解你的意图。Jigar建议的日期模式正是为了这个目的。你必须澄清你的问题才能得到“更好”的答案。用户应如何输入日期?使用文本字段或日期选择器或两者?用户可以在文本框中输入哪些允许的日期格式。。。请更具体一点。@Matt他希望用户在文本框中输入日期,并使用蒙版模式
MM/dd/yyyy
,并且他应该能够从组件中选择日期
<script type="text/javascript" language="JavaScript">
          var $ = jQuery;
          $(document).ready(function() {
              $("input[id*='Date']").mask('99/99/9999');
          });
     </script>
     <p:calendar id="documentDate" />
mask="99/99/9999"