我在我的 XPage 上有一个显示错误控件,使用此示例: 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 个验证器吗?
谢谢!