【发布时间】:2013-08-26 16:06:17
【问题描述】:
我有下面的表格,我有一个 jquery sn-p,无论用户是否输入,它都会在用户输入的开头添加$。
如果我提交表单但验证失败,我的 jquery sn-p 将不再将 $ 添加到用户的输入中。
为什么在表单验证后这不起作用?
<h:form id="add">
<h:outputLabel for="startDate" value="Start Date" />
<h:panelGrid columns="1">
<p:message for="startDate" />
<p:calendar value="#{fundingBacker.startDate}" id="startDate" mode="popup" navigator="true" required="true" requiredMessage="Start Date is required" />
</h:panelGrid>
<h:outputLabel for="totalCost" value="Total Cost" />
<h:panelGrid columns="1">
<p:message for="totalCost" />
<p:inputText value="#{fundingBacker.totalCost}" id="totalCost" styleClass="currency">
<f:convertNumber currencySymbol="$" groupingUsed="#{true}" maxFractionDigits="0" type="currency"></f:convertNumber>
</p:inputText>
</h:panelGrid>
<p:commandButton value="Add Grant" type="submit" actionListener="#{fundingBacker.add}" />
</h:form>
jQuery sn-p
$(document).ready(function() {
$('.currency').on('keyup', function() {
console.log('keyup');
if($(this).val().indexOf('$') == -1) {
$(this).val('$'+$(this).val());
}
});
}
【问题讨论】:
-
验证码在哪里
-
这是 startDate 上的必需属性
-
你验证服务器端还是客户端? javascript 控制台中的任何错误?
-
@HarryFink 你一定不熟悉 JSF。验证是
required="true" requiredMessage="Start Date is required" -
是的,我不知道 JSF。它生成什么html?当您单击提交按钮时,它是在发布之前将数据发送到服务器还是在客户端验证它?
标签: jquery jsf jsf-2 primefaces