【发布时间】:2011-03-15 13:36:47
【问题描述】:
首先,我使用的是 Jsf 1.2...
我在提交表单中的某些值以进行验证时遇到问题。 特别是这个代码段:
<h:panelGrid columns="4" id="StatusPanel">
<h:outputText value="#{msg.Phone_number_to_send_SMS_to}" />
<h:inputText id="phoneNumber" value="#{general.smsPhoneNumber}" required="true"
requiredMessage="Please enter a valid phone number." />
<a4j:commandLink value="#{msg.Submit_Button}"
reRender="pinCodeDeliveryMsgText, pinCodeDeliveryMsg, pinCodeDeliveryFailedMsg, pinCodeDeliveryMainPanel, LastPinCodeMsg, SendingSMSMSG"
action="#{general.submit}" />
<h:message for="phoneNumber" fatalClass="mandatoryFieldMissing" errorClass="mandatoryFieldMissing" tooltip="true" />
</h:panelGrid>
在 html 页面中如下所示:
每当我按下提交链接时,页面并没有真正通过验证,它似乎与最后一个成功的值一起去。结果是,如果电话号码字段为空,它什么也不做,甚至不呈现<h:message> 标签。
实际上,我有一个看起来像这样的解决方法:
<h:commandLink value="#{msg.Submit_Button}">
<a4j:support event="onclick" reRender="pinCodeDeliveryMsgText, pinCodeDeliveryMsg, pinCodeDeliveryFailedMsg, pinCodeDeliveryMainPanel, LastPinCodeMsg, SendingSMSMSG"
action="#{general.submit}"/>
</h:commandLink>
但我真的很想知道a4j:commandLink 和h:commandLink 之间的区别是什么让一个woirk 而另一个不是。
TnX
【问题讨论】:
标签: jsf