Java 具有日历素数面的验证程序

Java 具有日历素数面的验证程序,java,datetime,primefaces,Java,Datetime,Primefaces,视图: 以DB为单位的列: dateRequisition datetime不为NULL 我进行了调试,validator类中接收到的值的格式如下:(java.util.Date)Sun Nov 15 06:00:00 GMT-03:00 2015 因此,我想将其格式化为yyyy-MM-dd HH:MM,并与我的数据库中的所有日期进行比较,以测试它是否已经包含在我的数据库中 顺便说一句,它总是捕获ParseException。我找到了解决方案 daterequision=newsimpledat

视图:

以DB为单位的列:
dateRequisition datetime不为NULL

我进行了调试,validator类中接收到的值的格式如下:
(java.util.Date)Sun Nov 15 06:00:00 GMT-03:00 2015

因此,我想将其格式化为
yyyy-MM-dd HH:MM
,并与我的数据库中的所有日期进行比较,以测试它是否已经包含在我的数据库中

顺便说一句,它总是捕获ParseException。

我找到了解决方案

daterequision=newsimpledateformat(“EEE-MMM-dd-HH:mm:ss-Z-yyyy”,Locale.ENGLISH).parse(value.toString())

<p:calendar id="dateRequisition" widgetVar="calwidget" pattern="yyyy-MM-dd HH:mm" value="#{examrequisitionsController.selected.dateRequisition}"
                                title="#{bundle.CreateExamrequisitionsTitle_dateRequisition}" required="true" requiredMessage="#{bundle.CreateExamrequisitionsRequiredMessage_dateRequisition}"
                                converterMessage="Invalid Birth Date." effect="slide" showOn="both" navigator="true" yearRange=":+1"
                                minHour="06" maxHour="18" stepMinute="10" disabledWeekends="true" readonlyInput="true">
    <f:validator validatorId="dateValidator" />
</p:calendar>
public void validate(FacesContext context, UIComponent component,
        Object value) throws ValidatorException {
    String msg = "";
    if (value == null) {
        msg = "The Date field is required";
    } else {
        Date dateRequisition = null;
        try {
            dateRequisition = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH).parse(value.toString());

        } catch (ParseException ex) {
            Logger.getLogger(DateValidator.class.getName()).log(Level.SEVERE, null, ex);
        }

        if (!Persistence.createEntityManagerFactory("SystemCardiologyReportsPU").createEntityManager().createNamedQuery("Examrequisitions.findByDateRequisition")
                .setParameter("dateRequisition", dateRequisition).getResultList().isEmpty()) {
            msg = "The Date of requisition is already defined.";
        }
    }
    if (!"".equals(msg)) {
        JsfUtil.validatorMessage(msg);
    }
}