我使用此示例在XPage上有一个显示错误控件: Error Management in XPages
以下是代码:
<xp:td>
<xp:inputText value="#{document1.ac_Email}" id="ac_Email1"
style="width:250px">
<xp:this.validators>
<xp:validateRequired message="Email is a required field.">
</xp:validateRequired>
<xp:validateExpression
message="Email needs to be in this format: john@acme.com">
<xp:this.expression><![CDATA[#{javascript:value.match(/^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/)}]]></xp:this.expression>
</xp:validateExpression>
</xp:this.validators>
</xp:inputText>
</xp:td>
<xp:td>
<xp:message id="message1" for="ac_Email1"></xp:message>
</xp:td>
如果电子邮件格式不正确 - 使用validateExpression - 将正确显示显示错误消息。如果该字段为空,则会显示弹出消息(在Firefox中)。根据示例和我编码的内容,应显示显示错误控制消息,而不是弹出消息。
我很困惑,因为我在表单上有两个其他字段,当为空时,正常工作 - 所需的字段消息出现在字段右侧的显示错误控件中。是因为这个领域有2个验证器吗?
谢谢!