javascript - 如何在 JS 中检查 p :calendar value is empty?

标签 javascript jsf primefaces

我遇到了这样的问题 - 我需要检查我的 JSF/PrimeFaces 页面中的 p:calendar 值(由用户使用键盘输入)是否为空,以及是否为空以清除错误消息

这是我的 JSF 日历片段

 <div class="item">
    <p:outputLabel id="l_dateBirth" for="dateBirth" value="#{msgs['customerForm.dateBirth']}"/>
    <p:calendar id="dateBirth" widgetVar="dateBirthVar" value="#{customerBean.customer.dateOfBirth}"
                placeholder="MM/dd/yyyy"
                showOn="button" navigator="true"
                pattern="MM/dd/yyyy" yearRange="-120:+0"
                mindate="#{dateBean.minDate}" 
                maxdate="#{dateBean.maxDateOfBirth}"
                required="true" 
                requiredMessage="#{msgs['Error.dateBirth.mandatory']}"
                disabled="#{customerBean.mode eq 'EDIT'}">
                <f:ajax execute="@this" event="dateSelect" render="m_dateBirth" />
                <p:ajax event="keyup" oncomplete="hideCustomerCalendarErrMsg('dateBirth')" />
                <f:validator binding="#{dateOfBirthValidator}"/>
                </p:calendar><p:message id="m_dateBirth" for="dateBirth" display="text"/>
</div>

这是我的 JS 片段

function hideCustomerCalendarErrMsg(variable) {
    var inputField, msg;
    inputField = PF('dateBirthVar').getDate();
    msg = document.getElementById("createEditCustomerForm:accordion:m_" +variable);
    if (inputField.value === null) {
        msg.innerHTML = "";
    }
}

所以,请帮助我 - 它不起作用。如果用户清除日历字段,我需要即时清除验证器错误消息

最佳答案

不要调用 getDate(),而是尝试检查输入本身是否为空值。

function hideCustomerCalendarErrMsg(variable) {
   var inputField, msg;
   inputField = PF('dateBirthVar').input;
   msg = document.getElementById("createEditCustomerForm:accordion:m_" + variable);
   if (inputField.val() === "") {
       msg.innerHTML = "";
    }
}
<小时/>

或者您仍然可以按原样使用代码,但不用

if (inputField.value === null)

去吧

if (inputField === null)

关于javascript - 如何在 JS 中检查 p :calendar value is empty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44843618/

相关文章:

javascript - 在 ASP MVC 5 中使用 AJAX 时,HttpPostedFileBase 为空

java - 创建信用卡的 JSF 自定义组件

jsf - 在 PrimeFaces (4.0) 确认对话框中,如何确保默认情况下 'No' 处于焦点?

eclipse - 将 PrimeFaces 库作为 "external JAR"添加到 Eclipse 项目时,PrimeFaces 组件未显示

javascript - 添加/删除按钮的 jquery 逻辑

javascript - React - 在作为 props 传递的单击处理程序中传递组件 props

jsf - el #{facesContext.externalContext.requestContextPath} 是什么意思?

java - 如何保持 Accordion 面板的顺序相同?

javascript - 使用javascript后提交按钮帖子未发送

image - <p :selectOneButton> with images