gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:25:41 27 4
gpt4 key购买 nike

我遇到了这样的问题 - 我需要检查我的 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com